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

# List intents

> Retrieves a list of intents



## OpenAPI

````yaml /openapi.yaml get /intent/list
openapi: 3.0.1
info:
  title: Push API
  version: 0.0.1
servers:
  - url: https://api.pushcash.com
    description: Production API
  - url: https://sandbox.pushcash.com
    description: Sandbox API used for developing an integration with Push
security:
  - bearer: []
tags:
  - name: user
  - name: tokenization
  - name: authorization
  - name: intent
  - name: dispute
  - name: refund
  - name: accounts
  - name: transactions
  - name: transfer
paths:
  /intent/list:
    get:
      tags:
        - intent
      summary: List intents
      description: Retrieves a list of intents
      operationId: listIntents
      parameters:
        - in: query
          name: created_at.after
          description: >-
            Return intents created after this [ISO
            8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp.
          required: false
          schema:
            description: >-
              Return intents created after this [ISO
              8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp.
            type: string
            format: date-time
        - in: query
          name: created_at.before
          description: >-
            Return intents created before this [ISO
            8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp.
          required: false
          schema:
            type: string
            format: date-time
        - in: query
          name: cursor
          description: The cursor for the next page of results to fetch
          required: false
          schema:
            type: string
            example: vjl8vk3l4o8dhsjlzh==
        - in: query
          name: type
          description: Filter by payment flow type
          schema:
            type: string
            enum:
              - push
              - card_only
        - in: query
          name: status
          description: >
            Filter intents by status.

            Provide multiple values to retrieve intents with any of the provided
            statuses.
          schema:
            type: array
            items:
              $ref: '#/components/schemas/IntentStatus'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/Intent'
                  next_cursor:
                    $ref: '#/components/schemas/Cursor'
                required:
                  - data
                  - next_cursor
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
components:
  schemas:
    IntentStatus:
      type: string
      enum:
        - created
        - approved
        - declined
        - pending
        - canceled
      x-enumDescriptions:
        created: The intent was created
        approved: Push has approved the request
        declined: Push has declined the request
        pending: >-
          The payment is pending because the operator requested to manually
          approve it
        canceled: The intent was canceled by the operator
    Intent:
      type: object
      example:
        id: intent_sandbox_dMggQ93ZYH6DH9LBhVeijE
        idempotency_key: f1bbb856
        created_at: '2023-05-24T20:36:50.694Z'
        direction: cash_in
        user_id: user_28CJjV7P4Go5PNJvfzghiD
        amount: 1450
        currency: USD
        guarantee_amount: 1450
        status: approved
        decline_category: null
        transactions:
          - id: txn_230vjroij4985uefjoiu9
            amount: 1450
            currency: USD
            created_at: '2023-05-24T20:15:18.158Z'
            date: '2023-05-24'
            batch: '398002'
            balance: settlement
            type: intent
            source_id: intent_sandbox_dMggQ93ZYH6DH9LBhVeijE
            status: settled
        dispute: null
        refund: null
        credential:
          display_name: Chase Checking
          last4: '6018'
        payment_credential:
          bank_name: Space Coast Credit Union
          account:
            number_mask: '5978'
            routing: '263177903'
          card:
            primary_account_number_mask: '6018'
            expiration: '2024-05-01'
            brand: visa
        rail: card
        account:
          id: account_WsELzpJOvU6fNafvzWbF6K
          type: settlement
          name: Settlement Account
          created_at: '2023-05-24T20:15:18.158Z'
        type: push
      properties:
        id:
          type: string
        idempotency_key:
          type: string
          description: >-
            The value passed in the X-Idempotency-Key header of the create
            intent request
          nullable: true
        created_at:
          type: string
          description: Creation timestamp for the Intent
          format: date-time
        direction:
          $ref: '#/components/schemas/Direction'
        user_id:
          type: string
        amount:
          type: integer
          description: >-
            Amount for the transaction, in smallest unit of specified currency
            (ie if currency is USD, the unit would be cents)
        currency:
          $ref: '#/components/schemas/Currency'
        guarantee_amount:
          type: integer
          nullable: true
          description: >-
            The amount guaranteed by Push for the transaction. Only defined when
            direction is `cash_in`.
        status:
          $ref: '#/components/schemas/IntentStatus'
        decline_category:
          $ref: '#/components/schemas/DeclineCategory'
        transactions:
          type: array
          items:
            $ref: '#/components/schemas/Transaction'
        dispute:
          $ref: '#/components/schemas/Dispute'
        refund:
          $ref: '#/components/schemas/Refund'
          nullable: true
        approval_mode:
          $ref: '#/components/schemas/ApprovalMode'
        credential:
          $ref: '#/components/schemas/Credential'
        payment_credential:
          $ref: '#/components/schemas/PaymentCredential'
        rail:
          $ref: '#/components/schemas/Rail'
        account:
          $ref: '#/components/schemas/Account'
        type:
          type: string
          enum:
            - push
            - card_only
            - apple_pay
          description: The payment flow type for the intent.
      required:
        - id
        - idempotency_key
        - created_at
        - direction
        - user_id
        - amount
        - currency
        - status
        - transactions
        - dispute
        - refund
        - approval_mode
        - credential
        - payment_credential
        - rail
        - account
        - type
    Cursor:
      type: string
      nullable: true
      description: >
        Use cursor for paginating list endpoints in conjunction with the cursor
        request parameter. 


        In a response, the value is null if there are no more results to fetch.
      example: vjl8vk3l4o8dhsjlzh==
    error:
      description: Description of the error encountered from the API request
      type: object
    Direction:
      type: string
      description: |
        Direction of the payment.
        - Submit `cash_in` for deposits
        - Submit `cash_out` for withdrawals
      enum:
        - cash_in
        - cash_out
    Currency:
      type: string
      description: Currency associated with the amount
      enum:
        - USD
    DeclineCategory:
      type: string
      description: >-
        The high level reason why the intent was declined, included if the
        status is "declined"
      enum:
        - insufficient_funds
        - unapproved_amount
        - fraud_risk
        - connection_error
        - transaction_limit
        - unsupported_card
        - suspended_user
      x-enumDescriptions:
        insufficient_funds: The transaction was declined due to insufficient funds.
        unapproved_amount: >-
          The transaction was declined due to the amount. The user may be able
          to retry with a lower amount.
        fraud_risk: The transaction was declined due to fraud risk.
        connection_error: >-
          A connection issue occurred while attempting to process the
          transaction. The user may be able to retry later.
        transaction_limit: >-
          The transaction was declined because it exceeded a configured
          transaction limit. The user may be able to retry later.
        unsupported_card: The transaction was declined because the user's card is not supported.
        suspended_user: The transaction was declined because the user's account is suspended.
    Transaction:
      type: object
      example:
        id: txn_CpiSd1bptYB5P55ysTDHg
        amount: 11000
        direction: credit
        currency: USD
        created_at: '2023-05-24T20:15:18.158Z'
        date: '2023-05-24'
        batch: '39408'
        account_id: account_WsELzpJOvU6fNafvzWbF6K
        type: intent
        source_id: intent_sandbox_dMggQ93ZYH6DH9LBhVeijE
      properties:
        id:
          type: string
          description: The unique identifier assigned by Push
        amount:
          type: integer
          description: Amount of the transaction (signed)
        direction:
          type: string
          description: >-
            The direction of the transaction, as indicated by the sign of the
            amount
          enum:
            - credit
            - debit
        currency:
          $ref: '#/components/schemas/Currency'
        created_at:
          type: string
          format: date-time
          description: When the transaction was created (ISO 8061 date string)
        date:
          type: string
          format: date
          description: The settlement date of the transaction
        batch:
          type: string
          nullable: true
          description: The batch for the transaction
        account_id:
          type: string
          description: The account associated with the transaction
        type:
          $ref: '#/components/schemas/TransactionType'
        source_id:
          type: string
          nullable: true
          description: >-
            The ID of the intent, dispute, or transfer associated with the
            transaction. If the transaction is unreconciled, this field will be
            null
        status:
          $ref: '#/components/schemas/TransactionStatus'
      required:
        - id
        - amount
        - currency
        - created_at
        - date
        - batch
        - account_id
        - type
        - source_id
        - status
    Dispute:
      type: object
      description: A dispute received from the payment network tied to an intent
      example:
        id: dispute_0293cj9ru032lisdjow
        amount: 10000
        currency: USD
        created_at: '2023-05-24T20:36:50.694Z'
        intent_id: intent_sandbox_dMggQ93ZYH6DH9LBhVeijE
        code: R01
        status: created
        type: push
      properties:
        id:
          type: string
          description: The unique identifier assigned by Push
        amount:
          type: integer
          description: >-
            Amount for the transaction, in smallest unit of specified currency
            (ie if currency is USD, the unit would be cents)
        currency:
          $ref: '#/components/schemas/Currency'
        created_at:
          type: string
          format: date-time
          description: When the dispute was created (ISO 8061 date string)
        intent_id:
          type: string
          description: The intent which corresponds to the dispute
        code:
          $ref: '#/components/schemas/DisputeCode'
        status:
          $ref: '#/components/schemas/DisputeStatus'
        type:
          type: string
          enum:
            - push
            - card_only
          description: The payment flow type for the intent associated with the dispute
      required:
        - id
        - amount
        - currency
        - created_at
        - intent_id
        - code
        - status
        - type
    Refund:
      type: object
      description: A refund issued against an approved intent
      example:
        id: refund_28CJjV7P4Go5PNJvfzghiD
        intent_id: intent_sandbox_dMggQ93ZYH6DH9LBhVeijE
        amount: 1450
        currency: USD
        status: approved
        created_at: '2023-05-24T20:36:50.694Z'
      properties:
        id:
          type: string
          description: The unique identifier assigned by Push
        intent_id:
          type: string
          description: The intent which corresponds to the refund
        amount:
          type: integer
          description: >-
            Amount of the refund in the smallest unit of specified currency (ie
            if currency is USD, the unit would be cents)
        currency:
          $ref: '#/components/schemas/Currency'
        status:
          $ref: '#/components/schemas/RefundStatus'
        created_at:
          type: string
          format: date-time
          description: When the refund was created (ISO 8601 date string)
      required:
        - id
        - intent_id
        - amount
        - currency
        - status
        - created_at
    ApprovalMode:
      type: string
      description: >-
        Enable manual review of payouts or redemptions through this parameter.
        See [Manual Review](/manual-review) for details.
      enum:
        - automatic
        - manual
      x-enumDescriptions:
        automatic: >-
          (Default) The intent will be automatically approved and submitted for
          processing within the user payment session
        manual: >-
          The intent must be manually approved by the operator before being
          submitted for processing. **NOTE** Manual approval can only be used
          with `cash_out` intents.
    Credential:
      type: object
      description: The credentials used for the payment intent
      example:
        display_name: Chase Checking
        last4: '6018'
      properties:
        display_name:
          type: string
          description: A short, human-readable name for the user's account
        last4:
          type: string
          description: >-
            The last 4 digits of the user's card or bank account, depending on
            which was used to process the payment
      required:
        - display_name
        - last4
    PaymentCredential:
      type: object
      description: The details for the user's payment credential
      example:
        bank_name: Space Coast Credit Union
        account:
          number_mask: '5978'
          routing: '263177903'
        card:
          primary_account_number_mask: '6018'
          expiration: '2024-05-01'
          brand: visa
        created_at: '2023-04-10T05:10:14.532Z'
      properties:
        bank_name:
          type: string
          description: The name of the bank associated with the credential
          example: Space Coast Credit Union
        account:
          type: object
          properties:
            number_mask:
              type: string
              description: The account number (mask)
            routing:
              type: string
              description: The routing number for the account
          required:
            - number_mask
            - routing
        card:
          $ref: '#/components/schemas/Card'
      required:
        - bank_name
        - account
        - card
    Rail:
      type: string
      nullable: true
      description: >-
        The payment rail used to complete the payment intent. Only defined once
        a payment intent has been processed.
      enum:
        - card
        - ach
      x-enumDescriptions:
        card: The payment was processed using a card.
        ach: The payment was processed using ACH.
    Account:
      type: object
      example:
        id: account_WsELzpJOvU6fNafvzWbF6K
        type: settlement
        name: Settlement Account
        created_at: '2023-05-24T20:15:18.158Z'
      properties:
        id:
          type: string
          description: The unique identifier assigned by Push
        type:
          type: string
          description: The type of account
          enum:
            - settlement
            - dispute
          x-enumDescriptions:
            settlement: >-
              The settlement balance will receive funds from settled intents and
              will be available for withdrawal subject to the Push Cash minimum
              balance requirement.
            dispute: >-
              The dispute balance tracks the sum of all outstanding disputes. If
              you have not received a dispute, the account may not exist.
        name:
          type: string
          description: The name of the account
        created_at:
          type: string
          format: date-time
          description: When the account was created (ISO 8061 date string)
      required:
        - id
        - type
        - name
        - created_at
    TransactionType:
      type: string
      description: The type of transaction
      enum:
        - intent
        - transfer
        - unreconciled
      x-enumDescriptions:
        intent: A transaction associated with an intent
        transfer: A transaction associated with a transfer
        unreconciled: >-
          Movement of funds not associated with any activity on the Push
          platform.
    TransactionStatus:
      type: string
      description: The transaction's settlement status
      enum:
        - settled
        - pending
      x-enumDescriptions:
        settled: The transaction is settled and funds are now available
        pending: The transaction is awaiting settlement
    DisputeCode:
      type: string
      description: The associated network code for the exception
      enum:
        - '10.1'
        - '10.2'
        - '10.3'
        - '10.4'
        - '10.5'
        - '11.1'
        - '11.2'
        - '11.3'
        - '12.1'
        - '12.2'
        - '12.3'
        - '12.4'
        - '12.5'
        - '12.6'
        - '12.7'
        - '13.1'
        - '13.2'
        - '13.3'
        - '13.4'
        - '13.5'
        - '13.6'
        - '13.7'
        - '13.8'
        - '13.9'
        - '4837'
        - '4840'
        - '4849'
        - '4863'
        - '4870'
        - '4871'
        - '4807'
        - '4808'
        - '4812'
        - '4834'
        - '4831'
        - '4842'
        - '4846'
        - '4850'
        - '4999'
        - '4853'
        - '4841'
        - '4854'
        - '4855'
        - '4859'
        - '4860'
        - R01
        - R02
        - R03
        - R04
        - R05
        - R06
        - R07
        - R08
        - R09
        - R10
        - R11
        - R12
        - R13
        - R14
        - R15
        - R16
        - R17
        - R18
        - R19
        - R20
        - R21
        - R22
        - R23
        - R24
        - R25
        - R26
        - R27
        - R28
        - R29
        - R30
        - R31
        - R32
        - R33
        - R34
        - R35
        - R36
        - R37
        - R38
        - R39
        - R40
        - R41
        - R42
        - R43
        - R44
        - R45
        - R46
        - R47
        - R50
        - R51
        - R52
        - R53
        - R61
        - R62
        - R67
        - R68
        - R69
        - R70
        - R71
        - R72
        - R73
        - R74
        - R75
        - R76
        - R77
        - R80
        - R81
        - R82
        - R83
        - R84
        - R85
      x-enumDescriptions:
        '4807': Warning Bulletin File
        '4808': Authorization-Related Chargeback
        '4812': Account Number Not On File
        '4831': Transaction Amount Differs
        '4834': Point-of-Interaction Error
        '4837': No Cardholder Authorization
        '4840': Fraudulent Processing of Transactions
        '4841': Canceled Recurring or Digital Goods Transactions
        '4842': Late Presentment
        '4846': Correct Transaction Currency Code Not Provided
        '4849': Questionable Merchant Activity
        '4850': Installment Billing Dispute
        '4853': Cardholder Dispute
        '4854': Cardholder Dispute—Not Elsewhere Classified (U.S. Region Only)
        '4855': Goods or Services Not Provided
        '4859': Addendum, No-show, or ATM Dispute
        '4860': Credit Not Processed
        '4863': Cardholder Does Not Recognize—Potential Fraud
        '4870': Chip Liability Shift
        '4871': Chip/PIN Liability Shift
        '4999': Domestic Chargeback Dispute (Europe Region Only)
        '10.1': EMV Liability Shift Counterfeit Fraud
        '10.2': EMV Liability Shift Non-Counterfeit Fraud
        '10.3': Other Fraud - Card Present Environment
        '10.4': Other Fraud - Card Absent Environment
        '10.5': Visa Fraud Monitoring Program
        '11.1': Card Recovery Bulletin or Exception File
        '11.2': Declined Authorization
        '11.3': No Authorization
        '12.1': Late Presentment
        '12.2': Incorrect Transaction Code
        '12.3': Incorrect Currency
        '12.4': Incorrect Transaction Account Number
        '12.5': Incorrect Transaction Amount
        '12.6': Duplicate Processing or Paid by Other Means
        '12.7': Invalid Data
        '13.1': Services Not Provided or Merchandise Not Received
        '13.2': Cancelled Recurring Transaction
        '13.3': Not as Described or Defective Merchandise/Services
        '13.4': Counterfeit Merchandise
        '13.5': Misrepresentation of the purchased good and/or service
        '13.6': Credit Not Processed
        '13.7': Cancelled Merchandise/Services
        '13.8': Original Credit Transaction Not Accepted
        '13.9': Non-Receipt of Cash or Load Transaction Value at ATM
        R01: Insufficient Funds
        R02: Account Closed
        R03: No Account/ Unable to Locate Account
        R04: Invalid Account Number Structure
        R05: Unauthorized Debit to Consumer Account Using Corporate SEC Code
        R06: Returned per ODFI’s Request
        R07: Authorization Revoked by Customer
        R08: Payment Stopped
        R09: Uncollected Funds
        R10: Customer Advises Not Authorized
        R11: Check Truncation Entry Return
        R12: Account Sold to Another DFI
        R13: Invalid ACH Routing Number
        R14: Representative Payee Deceased or Unable to Continue in That Capacity
        R15: Beneficiary or Account Holder Deceased
        R16: Account Frozen/Entry Returned Per OFAC Instruction
        R17: File Record Edit Criteria/Entry with Invalid Account Number
        R18: Improper Effectove Entry Date
        R19: Amount Field Error
        R20: Non-Transaction Account
        R21: Invalid Company Identification
        R22: Invalid Individual ID Number
        R23: Credit Entry Refused by Receiver
        R24: Duplicate Entry
        R25: Addenda Error
        R26: Mandatory Field Error
        R27: Trace Number Error
        R28: Routing Number Check Digit Error
        R29: Corporate Customer Advises Not Authorized
        R30: RDFI Not Participant in Check Truncation Program
        R31: Permissible Return Entry (CCD and CTX only)
        R32: RDFI Non- Settlement
        R33: Return of XCK Entry
        R34: Limited Participation DFI
        R35: Return of Improper Debit Entry
        R36: Return of Improper Credit Entry
        R37: Source Document Presented for Payment
        R38: Stop Payment on Source Document
        R39: Improper Source Document/ Source Document Presented for Payment
        R40: Return of ENR Entry by Federal Government Agency
        R41: Invalid Transaction Code
        R42: Routing Number/Check Digit Error
        R43: Invalid DFI Account Number
        R44: Invalid Individual ID Number/ Identification Number
        R45: Invalid Individual Name/Company Name
        R46: Invalid Representative Payee Indicator
        R47: Duplicate Enrollment
        R50: State Law Affecting RCK Acceptance
        R51: Item Related to RCK Entry is Ineligible or RCK Entry is Improper.
        R52: Stop Payment on Item Related to RCK Entry
        R53: Item and RCK Entry Presented for Payment
        R61: Misrouted Return
        R62: Return of Erroneous or Reversing Debit
        R67: Duplicate Return
        R68: Untimely Return
        R69: Field Error(s)
        R70: Permissible Return Entry Not Accepted/ Return Not Requested by ODFI
        R71: Misrouted Dishonored Return
        R72: Untimely Dishonored Return
        R73: Timely Original Return
        R74: Corrected Return
        R75: Return Not a Duplicate
        R76: No Errors Found
        R77: Non-Acceptance of R62 Dishonored Return
        R80: IAT Entry Coding Error
        R81: Non-Participant in IAT Program
        R82: Invalid Foreign Receiving DFI Identification
        R83: Foreign Receiving DFI Unable to Settle
        R84: Entry Not Processed by Gateway
        R85: Incorrectly Coded Outbound International Payment
    DisputeStatus:
      type: string
      description: The status of the dispute
      enum:
        - created
        - won
        - lost
      x-enumDescriptions:
        created: The dispute is pending
        won: The dispute was won
        lost: The dispute was lost
    RefundStatus:
      type: string
      description: The status of the refund
      enum:
        - approved
        - declined
      x-enumDescriptions:
        approved: The refund was successfully processed
        declined: The refund was declined
    Card:
      type: object
      description: Card details
      properties:
        primary_account_number_mask:
          type: string
          description: The primary account number (mask)
        expiration:
          type: string
          description: The expiration date for the card
          format: date
        brand:
          type: string
          description: The card brand
          enum:
            - mastercard
            - visa
            - amex
            - discover
      required:
        - primary_account_number_mask
        - expiration
  securitySchemes:
    bearer:
      type: http
      scheme: bearer

````