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

# List bill pay donations

> List successful Bill Pay gift donations with year-to-date summary cards, search, sorting, and pagination.



## OpenAPI

````yaml /api/superadmin.openapi.yaml get /bill-pay-donations
openapi: 3.1.0
info:
  title: YouNegotiate Superadmin API
  version: '2.0'
  description: Stateless API endpoints for the Superadmin portal.
servers:
  - url: https://api.hub.younegotiate.com
    description: Production
security: []
tags:
  - name: System
    description: Public superadmin domain system and health endpoints.
  - name: Authentication
    description: Superadmin login, logout, password reset, and password change endpoints.
  - name: Profile
    description: Authenticated superadmin profile endpoints.
  - name: Admin Configuration
    description: Platform configuration values and feature flag controls.
  - name: MailHub Users
    description: Superadmin management for EcoMail Hub / EcoPortal users.
  - name: Super Admin Users
    description: Superadmin management for platform operations users.
  - name: Consumers
    description: Superadmin consumer account list, detail, filter, and export endpoints.
  - name: Creditors
    description: Superadmin creditor account list and account access endpoints.
  - name: Sub Accounts
    description: Superadmin sub account list and export endpoints.
  - name: Reseller Partners
    description: Superadmin reseller partner list and report-history endpoints.
  - name: Special Plan Inquiries
    description: >-
      Superadmin special membership inquiry list, detail, resolve, and close
      endpoints.
  - name: Plans
    description: >-
      Superadmin membership plan list, create, update, reorder, visibility, and
      delete endpoints.
  - name: Failed - Canceled
    description: Superadmin failed or cancelled membership list and custom email endpoints.
  - name: Merchant Requests
    description: >-
      Superadmin merchant API request list, export, email, forwarding, progress,
      and approval endpoints.
  - name: Bill Pay Donations
    description: Superadmin Bill Pay gift donation list, export, and receipt endpoints.
  - name: Export & Reporting
    description: Superadmin generated report options and CSV download endpoints.
  - name: Communications / Templates
    description: >-
      Superadmin email and SMS template management for manual communications and
      campaigns.
  - name: Communications / Groups
    description: >-
      Superadmin communication group management for dynamic consumer targeting
      and campaign selection.
  - name: Communications / Schedule Campaign
    description: >-
      Superadmin email and SMS campaign scheduling, immediate send, and delivery
      queue endpoints.
  - name: Communications / Campaign Tracker
    description: >-
      Superadmin campaign tracker snapshots, refresh actions, and consumer
      exports.
  - name: Automated Communications
    description: >-
      Superadmin automated email/SMS templates, trigger configuration, and
      delivery history endpoints.
paths:
  /bill-pay-donations:
    get:
      tags:
        - Bill Pay Donations
      summary: List bill pay donations
      description: >-
        List successful Bill Pay gift donations with year-to-date summary cards,
        search, sorting, and pagination.
      operationId: superadminListBillPayDonations
      parameters:
        - $ref: '#/components/parameters/BillPayDonationSearch'
        - $ref: '#/components/parameters/BillPayDonationSort'
        - $ref: '#/components/parameters/SortDirection'
        - $ref: '#/components/parameters/PerPage'
      responses:
        '200':
          description: Bill Pay donations returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BillPayDonationListResponse'
        '401':
          $ref: '#/components/responses/Unauthenticated'
        '422':
          $ref: '#/components/responses/ValidationError'
      security:
        - bearerAuth: []
components:
  parameters:
    BillPayDonationSearch:
      name: search
      in: query
      required: false
      description: >-
        Search by donation date, donor name, consumer name, creditor name,
        donation amount, consumer DOB, or consumer SSN.
      schema:
        type: string
        maxLength: 255
    BillPayDonationSort:
      name: sort
      in: query
      required: false
      description: Sort field.
      schema:
        type: string
        enum:
          - date
          - donor-full-name
          - consumer-full-name
          - creditor-name
          - donation-amount
          - qualify
          - consumer-dob
          - consumer-ssn
    SortDirection:
      name: direction
      in: query
      required: false
      description: Sort direction.
      schema:
        type: string
        enum:
          - asc
          - desc
    PerPage:
      name: per_page
      in: query
      required: false
      description: Number of records per page.
      schema:
        type: integer
        minimum: 1
        maximum: 100
        default: 25
  schemas:
    BillPayDonationListResponse:
      type: object
      required:
        - data
        - meta
        - pagination
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/BillPayDonation'
        meta:
          type: object
          additionalProperties: false
          required:
            - stats
          properties:
            stats:
              $ref: '#/components/schemas/BillPayDonationStats'
        pagination:
          $ref: '#/components/schemas/Pagination'
    BillPayDonation:
      type: object
      additionalProperties: false
      required:
        - id
        - date
        - date_label
        - donor
        - consumer
        - company
        - amount
        - amount_label
        - qualify
        - qualify_label
        - created_at
        - updated_at
      properties:
        id:
          type: integer
          example: 123
        date:
          type: string
          format: date-time
          nullable: true
          example: '2026-06-30T18:30:00.000000Z'
        date_label:
          type: string
          nullable: true
          example: Jun 30, 2026
        donor:
          $ref: '#/components/schemas/BillPayDonationDonor'
        consumer:
          $ref: '#/components/schemas/BillPayDonationConsumer'
        company:
          $ref: '#/components/schemas/BillPayDonationCompany'
        amount:
          type: string
          example: '125.50'
        amount_label:
          type: string
          example: $125.50
        qualify:
          type: boolean
          description: >-
            Whether the donor full name differs from the consumer full name for
            tax receipt eligibility display.
          example: true
        qualify_label:
          type: string
          example: 'Yes'
        created_at:
          type: string
          format: date-time
          nullable: true
        updated_at:
          type: string
          format: date-time
          nullable: true
    BillPayDonationStats:
      type: object
      required:
        - total_donations_ytd
        - total_donations_ytd_label
        - total_donation_count
      properties:
        total_donations_ytd:
          type: number
          format: float
          example: 125.5
        total_donations_ytd_label:
          type: string
          example: $125.50
        total_donation_count:
          type: integer
          example: 1
    Pagination:
      type: object
      required:
        - current_page
        - from
        - last_page
        - per_page
        - to
        - total
      properties:
        current_page:
          type: integer
          example: 1
        from:
          type: integer
          nullable: true
          example: 1
        last_page:
          type: integer
          example: 1
        per_page:
          type: integer
          example: 25
        to:
          type: integer
          nullable: true
          example: 10
        total:
          type: integer
          example: 10
    MessageResponse:
      type: object
      required:
        - message
      properties:
        message:
          type: string
    ValidationErrorResponse:
      type: object
      required:
        - message
        - errors
      properties:
        message:
          type: string
        errors:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
    BillPayDonationDonor:
      type: object
      additionalProperties: false
      required:
        - id
        - first_name
        - last_name
        - full_name
        - email
        - phone
      properties:
        id:
          type: integer
          example: 45
        first_name:
          type: string
          example: Alice
        last_name:
          type: string
          example: Donor
        full_name:
          type: string
          example: Alice Donor
        email:
          type: string
          format: email
          example: alice@example.com
        phone:
          type: string
          nullable: true
          example: (900) 509-0051
    BillPayDonationConsumer:
      type: object
      additionalProperties: false
      required:
        - id
        - first_name
        - last_name
        - full_name
        - dob
        - dob_label
        - last4ssn_masked
        - account_number_masked
      properties:
        id:
          type: integer
          example: 987
        first_name:
          type: string
          example: Jane
        last_name:
          type: string
          example: Debtor
        full_name:
          type: string
          example: Jane Debtor
        dob:
          type: string
          format: date
          nullable: true
          example: '1985-05-10'
        dob_label:
          type: string
          nullable: true
          example: May 10, 1985
        last4ssn_masked:
          type: string
          nullable: true
          example: '**1234'
        account_number_masked:
          type: string
          nullable: true
          example: xxxx-xxxx-xxxx-7890
    BillPayDonationCompany:
      type: object
      additionalProperties: false
      required:
        - id
        - company_name
        - owner_full_name
        - owner_email
        - owner_phone
      properties:
        id:
          type: integer
          nullable: true
          example: 55
        company_name:
          type: string
          nullable: true
          example: Acme Recovery
        owner_full_name:
          type: string
          nullable: true
          example: Donna Owner
        owner_email:
          type: string
          format: email
          nullable: true
          example: owner@example.com
        owner_phone:
          type: string
          nullable: true
          example: (900) 509-0050
  responses:
    Unauthenticated:
      description: Missing or invalid bearer token.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/MessageResponse'
    ValidationError:
      description: Request validation failed.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ValidationErrorResponse'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: Sanctum token

````