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

# Get Contributions

> 
Returns contributions for the nonprofit based on the provided filters. 

### Contribution Types
There are 5 types of contributions representing the different asset types Overflow supports: **Cash**, **Crypto**, **DAF**, **Stock**, and **Manual** contributions. They can be differentiated by the discriminator key `type` in the response.

---

### Final Confirmation States
A contribution is considered successful or confirmed when it reaches the following status:
* **CASH**: `PAID_OUT`
* **MANUAL_CASH**: `CONFIRMED`
* **CRYPTO**: `CONFIRMED`
* **STOCK**: `CONTRIBUTION_RECEIVED` or `BILLED`
* **DAF**: `CONTRIBUTION_RECEIVED`

---

### Status Definitions by Asset Type

**Cash**
* `PENDING`: Awaiting authorization by the payment gateway.
* `PROCESSING`: Contribution is being processed. This status only applies to ACH/Bank payments.
* `CONFIRMED`: Contribution has been authorized by the payment gateway.
* `PAID_OUT`: Contribution has been settled and paid out to the NPO.
* `FAILED`: Something went wrong and the contribution was never received.
* `VOIDED`: Contribution was voided such that it never confirmed.
* `REFUNDED`: Contribution was refunded, typically at the request of the donor.
* `CHARGEBACK`: Disputed by the donor or rejected by the bank.

**Manual Cash**
* `PENDING`: Awaiting confirmation from the NPO (currently in an open gift entry batch).
* `CONFIRMED`: Confirmed by the NPO (gift entry batch has been closed).
* `VOIDED`: Contribution was voided from a gift entry batch.

**Crypto**
* `PENDING`: Initiated by a donor but not yet sent via their wallet.
* `CONFIRMED`: The crypto gift has been received by the NPO.
* `PAYOUT_SENT`: The crypto gift net-funds were processed by our team.
* `PAID_OUT`: The crypto gift has been settled and paid out to the NPO.

**DAF (Donor Advised Funds)**
* `INITIATED`: The DAF gift has been initiated but not yet captured.
* `IN_PROCESS`: The DAF gift has been captured and is being sent to the NPO.
* `CONTRIBUTION_RECEIVED`: The DAF gift has been received by the NPO.
* `PAYOUT_SENT`: The DAF gift net-funds were processed by our team.
* `PAID_OUT`: The DAF gift has been settled and paid out to the NPO.
* `FAILED`: The DAF gift has failed to be captured or initiated.
* `CANCELED` / `ABANDONED`: The DAF gift has been canceled or abandoned.

**Stock**
* `VERIFYING_INFORMATION`: Gathering transaction information from the donor.
* `INITIATED`: Donor intent to give received through the platform.
* `IN_PROCESS`: Forms sent to the sending brokerage and being processed.
* `DONOR_BROKERAGE_SENT_SHARES`: Donor has seen shares leave their account.
* `RECEIVED_FOR_LIQUIDATION`: Shares received by Overflow’s brokerage.
* `LIQUIDATION_INITIATED` / `LIQUIDATION_COMPLETE`: Selling shares to lock in value.
* `CONTRIBUTION_RECEIVED`: NPO has received the shares or liquidation cash.
* `BILLED`: Successfully billed the client for this contribution.
* `COMPLETED`: Client has paid the bill; gift lifecycle complete.
* `PAYOUT_SENT` / `PAID_OUT`: Proceeds transferred and settled to the NPO.
* `TROUBLESHOOTING` / `DONOR_UNRESPONSIVE`: Delays or loss of contact with donor.
* `CANCELED`: Transaction never fully processed or was canceled.




## OpenAPI

````yaml https://server.stage.overflow.co/api/docs/openapi.json get /api/v3/contributions
openapi: 3.0.0
info:
  title: Overflow Open API
  description: |

    The documentation for the Overflow Open APIs.

    To access the OpenAPI spec in JSON/YAML format, navigate to:

    * `/api/docs/openapi.json`
    * `/api/docs/openapi.yaml`
  version: '3.0'
  contact: {}
servers:
  - url: https://server.stage.overflow.co
    description: API server
security: []
tags: []
paths:
  /api/v3/contributions:
    get:
      tags:
        - Contributions
      summary: Get Contributions
      description: >

        Returns contributions for the nonprofit based on the provided filters. 


        ### Contribution Types

        There are 5 types of contributions representing the different asset
        types Overflow supports: **Cash**, **Crypto**, **DAF**, **Stock**, and
        **Manual** contributions. They can be differentiated by the
        discriminator key `type` in the response.


        ---


        ### Final Confirmation States

        A contribution is considered successful or confirmed when it reaches the
        following status:

        * **CASH**: `PAID_OUT`

        * **MANUAL_CASH**: `CONFIRMED`

        * **CRYPTO**: `CONFIRMED`

        * **STOCK**: `CONTRIBUTION_RECEIVED` or `BILLED`

        * **DAF**: `CONTRIBUTION_RECEIVED`


        ---


        ### Status Definitions by Asset Type


        **Cash**

        * `PENDING`: Awaiting authorization by the payment gateway.

        * `PROCESSING`: Contribution is being processed. This status only
        applies to ACH/Bank payments.

        * `CONFIRMED`: Contribution has been authorized by the payment gateway.

        * `PAID_OUT`: Contribution has been settled and paid out to the NPO.

        * `FAILED`: Something went wrong and the contribution was never
        received.

        * `VOIDED`: Contribution was voided such that it never confirmed.

        * `REFUNDED`: Contribution was refunded, typically at the request of the
        donor.

        * `CHARGEBACK`: Disputed by the donor or rejected by the bank.


        **Manual Cash**

        * `PENDING`: Awaiting confirmation from the NPO (currently in an open
        gift entry batch).

        * `CONFIRMED`: Confirmed by the NPO (gift entry batch has been closed).

        * `VOIDED`: Contribution was voided from a gift entry batch.


        **Crypto**

        * `PENDING`: Initiated by a donor but not yet sent via their wallet.

        * `CONFIRMED`: The crypto gift has been received by the NPO.

        * `PAYOUT_SENT`: The crypto gift net-funds were processed by our team.

        * `PAID_OUT`: The crypto gift has been settled and paid out to the NPO.


        **DAF (Donor Advised Funds)**

        * `INITIATED`: The DAF gift has been initiated but not yet captured.

        * `IN_PROCESS`: The DAF gift has been captured and is being sent to the
        NPO.

        * `CONTRIBUTION_RECEIVED`: The DAF gift has been received by the NPO.

        * `PAYOUT_SENT`: The DAF gift net-funds were processed by our team.

        * `PAID_OUT`: The DAF gift has been settled and paid out to the NPO.

        * `FAILED`: The DAF gift has failed to be captured or initiated.

        * `CANCELED` / `ABANDONED`: The DAF gift has been canceled or abandoned.


        **Stock**

        * `VERIFYING_INFORMATION`: Gathering transaction information from the
        donor.

        * `INITIATED`: Donor intent to give received through the platform.

        * `IN_PROCESS`: Forms sent to the sending brokerage and being processed.

        * `DONOR_BROKERAGE_SENT_SHARES`: Donor has seen shares leave their
        account.

        * `RECEIVED_FOR_LIQUIDATION`: Shares received by Overflow’s brokerage.

        * `LIQUIDATION_INITIATED` / `LIQUIDATION_COMPLETE`: Selling shares to
        lock in value.

        * `CONTRIBUTION_RECEIVED`: NPO has received the shares or liquidation
        cash.

        * `BILLED`: Successfully billed the client for this contribution.

        * `COMPLETED`: Client has paid the bill; gift lifecycle complete.

        * `PAYOUT_SENT` / `PAID_OUT`: Proceeds transferred and settled to the
        NPO.

        * `TROUBLESHOOTING` / `DONOR_UNRESPONSIVE`: Delays or loss of contact
        with donor.

        * `CANCELED`: Transaction never fully processed or was canceled.
      operationId: OpenApiContributionsController_getContributions
      parameters:
        - name: limit
          required: false
          in: query
          description: The number of contributions to return.
          schema:
            minimum: 1
            maximum: 100
            default: 25
            type: number
        - name: page
          required: false
          in: query
          description: The page number of the contributions to return.
          schema:
            minimum: 1
            default: 1
            type: number
        - name: minimumUpdatedDate
          required: false
          in: query
          description: The minimum updated date of the contributions to return.
          schema:
            format: date-time
            example: '2025-01-01'
            type: string
        - name: maximumUpdatedDate
          required: false
          in: query
          description: The maximum updated date of the contributions to return.
          schema:
            format: date-time
            example: '2025-02-01'
            type: string
        - name: minimumInitiatedDate
          required: false
          in: query
          description: The minimum date the contributions were initiated to return.
          schema:
            format: date-time
            example: '2025-01-01'
            type: string
        - name: maximumInitiatedDate
          required: false
          in: query
          description: The maximum date the contributions were initiated to return.
          schema:
            format: date-time
            example: '2025-02-01'
            type: string
        - name: statusBucket
          required: false
          in: query
          description: Filter contributions by status buckets.
          schema:
            example:
              - PENDING
              - CONFIRMED
            type: array
            items:
              type: string
              enum:
                - CANCELED
                - CONFIRMED
                - PENDING
                - FAILED
        - name: campaignId
          required: false
          in: query
          description: Filter by campaign id.
          schema:
            type: string
        - name: subcampaignId
          required: false
          in: query
          description: Filter by subcampaign id.
          schema:
            type: string
        - name: locationIds
          required: false
          in: query
          description: Filter by location ids.
          schema:
            type: array
            items:
              type: string
        - name: givingLinkId
          required: false
          in: query
          description: Filter by giving link id.
          schema:
            type: string
        - name: pledgeId
          required: false
          in: query
          description: Filter by pledge id.
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetContributionsResponse'
              examples:
                Cash:
                  value:
                    data:
                      - id: 6710f34fd5061afeec3eab57
                        createdAt: '2025-01-01T00:00:00.000Z'
                        updatedAt: '2025-01-01T00:00:00.000Z'
                        amount: 5000
                        donorCoveredFees: false
                        contributionDate: '2025-01-01T00:00:00.000Z'
                        contributionReceivedAt: '2025-01-01T00:00:00.000Z'
                        depositId: 8810f34fd5061afeec3eab67
                        campaign:
                          id: 7710f34fd5061afeec3eab78
                          name: Mission 2025
                        subcampaign: null
                        dedication: null
                        donorNotes: null
                        anonymous: false
                        locationId: 6710f34fd5061afeec3eab58
                        donor:
                          id: 6710f34fd5061afeec3eab50
                          firstName: Jane
                          lastName: Doe
                          email: jane.doe@example.com
                        givingLinkId: null
                        pledgeId: null
                        metadata: null
                        type: CASH
                        status: PAID_OUT
                        frequency: ONE_TIME
                        liquidationInitiatedAt: null
                        receivedTokensAt: null
                        stocks: null
                        crypto: null
                        paymentMethod:
                          type: card
                          last4: '4242'
                          logoUrl: null
                    totalCount: 1
                Stock:
                  value:
                    data:
                      - id: 6710f34fd5061afeec3eab57
                        createdAt: '2025-01-01T00:00:00.000Z'
                        updatedAt: '2025-01-01T00:00:00.000Z'
                        amount: 5000
                        donorCoveredFees: false
                        contributionDate: '2025-01-01T00:00:00.000Z'
                        contributionReceivedAt: '2025-01-01T00:00:00.000Z'
                        depositId: 8810f34fd5061afeec3eab67
                        campaign:
                          id: 7710f34fd5061afeec3eab78
                          name: Mission 2025
                        subcampaign: null
                        dedication: null
                        donorNotes: null
                        anonymous: false
                        locationId: 6710f34fd5061afeec3eab58
                        donor:
                          id: 6710f34fd5061afeec3eab50
                          firstName: Jane
                          lastName: Doe
                          email: jane.doe@example.com
                        givingLinkId: null
                        pledgeId: null
                        metadata: null
                        type: STOCK
                        status: BILLED
                        frequency: ONE_TIME
                        liquidationInitiatedAt: '2025-01-01T00:00:00.000Z'
                        receivedTokensAt: null
                        stocks:
                          quantity: 2
                          tickers:
                            - AAPL
                            - MSFT
                        crypto: null
                        paymentMethod: null
                    totalCount: 1
                Crypto:
                  value:
                    data:
                      - id: 6710f34fd5061afeec3eab57
                        createdAt: '2025-01-01T00:00:00.000Z'
                        updatedAt: '2025-01-01T00:00:00.000Z'
                        amount: 5000
                        donorCoveredFees: false
                        contributionDate: '2025-01-01T00:00:00.000Z'
                        contributionReceivedAt: '2025-01-01T00:00:00.000Z'
                        depositId: 8810f34fd5061afeec3eab67
                        campaign:
                          id: 7710f34fd5061afeec3eab78
                          name: Mission 2025
                        subcampaign: null
                        dedication: null
                        donorNotes: null
                        anonymous: false
                        locationId: 6710f34fd5061afeec3eab58
                        donor:
                          id: 6710f34fd5061afeec3eab50
                          firstName: Jane
                          lastName: Doe
                          email: jane.doe@example.com
                        givingLinkId: null
                        pledgeId: null
                        metadata: null
                        type: CRYPTO
                        status: PAID_OUT
                        frequency: ONE_TIME
                        liquidationInitiatedAt: null
                        receivedTokensAt: '2025-01-01T00:00:00.000Z'
                        stocks: null
                        crypto:
                          quantity: 0.05
                          token: BTC
                        paymentMethod: null
                    totalCount: 1
                DAF:
                  value:
                    data:
                      - id: 6710f34fd5061afeec3eab57
                        createdAt: '2025-01-01T00:00:00.000Z'
                        updatedAt: '2025-01-01T00:00:00.000Z'
                        amount: 5000
                        donorCoveredFees: false
                        contributionDate: '2025-01-01T00:00:00.000Z'
                        contributionReceivedAt: '2025-01-01T00:00:00.000Z'
                        depositId: 8810f34fd5061afeec3eab67
                        campaign:
                          id: 7710f34fd5061afeec3eab78
                          name: Mission 2025
                        subcampaign: null
                        dedication: null
                        donorNotes: null
                        anonymous: false
                        locationId: 6710f34fd5061afeec3eab58
                        donor:
                          id: 6710f34fd5061afeec3eab50
                          firstName: Jane
                          lastName: Doe
                          email: jane.doe@example.com
                        givingLinkId: null
                        pledgeId: null
                        metadata: null
                        type: DAF
                        status: CONTRIBUTION_RECEIVED
                        frequency: ONE_TIME
                        liquidationInitiatedAt: null
                        receivedTokensAt: null
                        stocks: null
                        crypto: null
                        paymentMethod: null
                    totalCount: 1
                Manual Cash:
                  value:
                    data:
                      - id: 6710f34fd5061afeec3eab57
                        createdAt: '2025-01-01T00:00:00.000Z'
                        updatedAt: '2025-01-01T00:00:00.000Z'
                        amount: 5000
                        donorCoveredFees: false
                        contributionDate: '2025-01-01T00:00:00.000Z'
                        contributionReceivedAt: '2025-01-01T00:00:00.000Z'
                        depositId: 8810f34fd5061afeec3eab67
                        campaign:
                          id: 7710f34fd5061afeec3eab78
                          name: Mission 2025
                        subcampaign: null
                        dedication: null
                        donorNotes: null
                        anonymous: false
                        locationId: 6710f34fd5061afeec3eab58
                        donor:
                          id: 6710f34fd5061afeec3eab50
                          firstName: Jane
                          lastName: Doe
                          email: jane.doe@example.com
                        givingLinkId: null
                        pledgeId: null
                        metadata: null
                        type: MANUAL_CASH
                        status: CONFIRMED
                        frequency: ONE_TIME
                        liquidationInitiatedAt: null
                        receivedTokensAt: null
                        stocks: null
                        crypto: null
                        paymentMethod: null
                    totalCount: 1
          description: ''
      security:
        - ClientId: []
          ApiKey: []
components:
  schemas:
    GetContributionsResponse:
      type: object
      properties:
        data:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
                description: Contribution Id
                example: 6710f34fd5061afeec3eab57
              createdAt:
                type: string
                format: date-time
                description: Contribution created at
                example: '2025-01-01T00:00:00.000Z'
              updatedAt:
                type: string
                format: date-time
                description: Contribution updated at
                example: '2025-01-01T00:00:00.000Z'
              type:
                type: string
                enum:
                  - CASH
                  - CRYPTO
                  - DAF
                  - MANUAL_CASH
                  - STOCK
                description: Asset type
                example: CASH
              amount:
                type: number
                description: Contribution amount
                example: 1000
              donorCoveredFees:
                default: false
                type: boolean
                description: Whether the donor covered fees.
                example: false
              contributionDate:
                type: string
                format: date-time
                description: Contribution date
                example: '2025-01-01T00:00:00.000Z'
              contributionReceivedAt:
                type: string
                format: date-time
                nullable: true
                description: Contribution received at
              liquidationInitiatedAt:
                type: string
                format: date-time
                nullable: true
                description: Liquidation initiated at date for stock contributions
                example: null
              receivedTokensAt:
                type: string
                format: date-time
                nullable: true
                description: Received tokens at date for crypto contributions
                example: null
              status:
                type: string
                enum:
                  - CHARGEBACK
                  - CONFIRMED
                  - FAILED
                  - PAID_OUT
                  - PENDING
                  - PROCESSING
                  - REFUNDED
                  - VOIDED
                  - PAYOUT_SENT
                  - CONFIRMED
                  - PENDING
                  - PAID_OUT
                  - ABANDONED
                  - CANCELED
                  - CONTRIBUTION_RECEIVED
                  - FAILED
                  - INITIATED
                  - IN_PROCESS
                  - PAYOUT_SENT
                  - PAID_OUT
                  - BILLED
                  - CANCELED
                  - COMPLETED
                  - CONFIRMED
                  - CONTRIBUTION_RECEIVED
                  - DONOR_BROKERAGE_SENT_SHARES
                  - DONOR_UNRESPONSIVE
                  - INITIATED
                  - IN_PROCESS
                  - LIQUIDATION_COMPLETE
                  - LIQUIDATION_INITIATED
                  - PAYOUT_SENT
                  - PAID_OUT
                  - RECEIVED_FOR_LIQUIDATION
                  - TROUBLESHOOTING
                  - VERIFYING_INFORMATION
                description: Contribution status
                example: PAID_OUT
              stocks:
                type: object
                properties:
                  quantity:
                    type: number
                  tickers:
                    type: array
                    items:
                      type: string
                required:
                  - quantity
                  - tickers
                nullable: true
                description: Stock details
                example:
                  quantity: 2
                  tickers:
                    - AAPL
                    - MSFT
              crypto:
                type: object
                properties:
                  quantity:
                    type: number
                  token:
                    type: string
                required:
                  - quantity
                  - token
                nullable: true
                description: Crypto details
                example:
                  quantity: 1
                  token: BTC
              subscriptionId:
                type: string
                description: Subscription id for contributions related to recurring gifts
                example: 6710f34fd5061afeec3eab57
              frequency:
                type: string
                enum:
                  - one-time
                  - recurring
                nullable: true
                description: Gift frequency
                example: one-time
              paymentMethod:
                type: object
                properties:
                  type:
                    type: string
                    enum:
                      - ACH
                      - Card
                      - Check
                      - Crypto
                      - Physical Cash
                      - Stock
                      - Other
                      - Apple Pay
                      - Google Pay
                      - Cash App
                      - Paypal
                      - DAF
                  last4:
                    type: string
                  logoUrl:
                    type: string
                nullable: true
                description: Contribution payment method information.
                example:
                  type: Card
                  logoUrl: https://example.com/logo.png
                  last4: '4242'
              depositId:
                type: string
                nullable: true
                description: Deposit id for the contribution
                example: 8810f34fd5061afeec3eab67
              campaign:
                type: object
                properties:
                  id:
                    type: string
                  name:
                    type: string
                required:
                  - id
                  - name
                nullable: true
                description: Campaign details for the contribution
                example:
                  id: 7710f34fd5061afeec3eab78
                  name: Mission 2025
              subcampaign:
                type: object
                properties:
                  id:
                    type: string
                  name:
                    type: string
                required:
                  - id
                  - name
                nullable: true
                description: Subcampaign details for the contribution
                example:
                  id: 7710f34fd5061afeec3eab79
                  name: Toy Drive
              dedication:
                type: string
                nullable: true
                description: Dedication for the contribution
                example: In memory of Lois Lane
              donorNotes:
                type: string
                nullable: true
                description: Notes from the donor
                example: Happy to support this cause!
              anonymous:
                default: false
                type: boolean
                description: Whether the donor wants the contribution to be anonymous
                example: false
              locationId:
                type: string
                description: Location id for the contribution
                example: 6710f34fd5061afeec3eab58
              donor:
                type: object
                properties:
                  id:
                    type: string
                    description: Donor Id
                    example: 6710f34fd5061afeec3eab57
                  createdAt:
                    type: string
                    format: date-time
                    description: Donor created at
                    example: '2025-01-01T00:00:00.000Z'
                  updatedAt:
                    type: string
                    format: date-time
                    description: Donor updated at
                    example: '2025-01-01T00:00:00.000Z'
                  firstName:
                    type: string
                    description: Donor first name
                    example: John
                  lastName:
                    type: string
                    description: Donor last name
                    example: Doe
                  email:
                    type: string
                    format: email
                    description: Donor email
                    example: john.doe@example.com
                  phone:
                    type: string
                    description: Donor phone number in E.164 format
                    example: '+1234567890'
                  address:
                    type: object
                    properties:
                      city:
                        type: string
                        minLength: 1
                      country:
                        type: string
                      line1:
                        type: string
                        minLength: 1
                      line2:
                        type: string
                      state:
                        type: string
                        minLength: 1
                      timezone:
                        type: string
                      zip:
                        type: string
                        pattern: ^\d{5}(-\d{4})?$
                    required:
                      - city
                      - line1
                      - state
                      - zip
                    nullable: true
                    description: Donor address
                    example:
                      line1: 123 Main St
                      line2: Apt 1
                      city: Anytown
                      state: CA
                      zip: '12345'
                  activeRecurringCount:
                    type: number
                    description: The number of active recurring donations
                    example: 1
                  latestContributionDate:
                    type: string
                    format: date-time
                    description: The date of the latest contribution
                    example: '2025-01-01T00:00:00.000'
                  locationIds:
                    type: array
                    items:
                      type: string
                    description: The location IDs associated with the donor
                    example:
                      - 6710f34fd5061afeec3eab57
                  totalContributionsCount:
                    type: number
                    description: Total number of contributions made by the donor
                    example: 10
                required:
                  - id
                  - createdAt
                  - updatedAt
                  - firstName
                  - lastName
                  - email
                  - phone
                  - address
                description: Donor details for the contribution
              givingLinkId:
                type: string
                nullable: true
                description: Giving link id associated with the contribution
                example: 6710f34fd5061afeec3eab60
              pledgeId:
                type: string
                nullable: true
                description: Pledge id associated with the contribution
                example: 6710f34fd5061afeec3eab61
              metadata:
                type: object
                additionalProperties:
                  type: string
                nullable: true
                description: >-
                  Merchant-defined key-value metadata attached to the
                  contribution.
                example:
                  orderId: '12345'
                  campaign: spring-2026
            required:
              - id
              - createdAt
              - updatedAt
              - type
              - amount
              - contributionDate
              - contributionReceivedAt
              - liquidationInitiatedAt
              - receivedTokensAt
              - status
              - stocks
              - crypto
              - frequency
              - paymentMethod
              - depositId
              - campaign
              - subcampaign
              - dedication
              - donorNotes
              - donor
              - givingLinkId
              - pledgeId
          description: List of contributions.
        totalCount:
          type: number
          description: Total number of contributions matching the filters.
          example: 100
      required:
        - data
        - totalCount
  securitySchemes:
    ClientId:
      type: apiKey
      in: header
      name: x-client-id
      description: Client ID for API authentication
    ApiKey:
      type: apiKey
      in: header
      name: x-api-key
      description: API Key for API authentication

````