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

# Search Invoices for Customer

> Searches for **invoices associated with a specific customer**, using optional filters such as **Merchant Customer Ref ID**, **Merchant Invoice Ref ID**, **start date**, and **end date**.
The filter applies to the **billing date** of each invoice.

Results are returned in a paginated format using the **Page** and **PageSize** query parameters.
If not specified, page 1 is returned with up to 100 results.
The maximum supported **PageSize** is 100 entries per request.
Use this endpoint to retrieve a customer's invoice history, monitor billing activity, or generate reports for specific periods or identifiers.

Returns `404 Not Found` if the Customer ID does not exist, or `400 Bad Request` for invalid date inputs.



## OpenAPI

````yaml /api-reference/swagger.json get /api/Customers/{customerId}/invoices
openapi: 3.0.4
info:
  title: Revolv3 OpenApi Spec
  description: Spec for Revolv3
  version: 1.29.1
servers:
  - url: 'https://api-sandbox.revolv3.com '
security: []
paths:
  /api/Customers/{customerId}/invoices:
    get:
      tags:
        - Customers
      summary: Search Invoices for Customer
      description: "Searches for **invoices associated with a specific customer**, using optional filters such as **Merchant Customer Ref ID**, **Merchant Invoice Ref ID**, **start date**, and **end date**.\r\nThe filter applies to the **billing date** of each invoice.\r\n\r\nResults are returned in a paginated format using the **Page** and **PageSize** query parameters.\r\nIf not specified, page 1 is returned with up to 100 results.\r\nThe maximum supported **PageSize** is 100 entries per request.\r\nUse this endpoint to retrieve a customer's invoice history, monitor billing activity, or generate reports for specific periods or identifiers.\r\n\r\nReturns `404 Not Found` if the Customer ID does not exist, or `400 Bad Request` for invalid date inputs."
      parameters:
        - name: customerId
          in: path
          required: true
          schema:
            maximum: 1000000000
            minimum: 1
            type: integer
            format: int64
        - name: merchantCustomerRefId
          in: query
          schema:
            maxLength: 100
            minLength: 0
            type: string
        - name: merchantInvoiceRefId
          in: query
          schema:
            maxLength: 100
            minLength: 0
            type: string
        - name: startDate
          in: query
          schema:
            maxLength: 40
            minLength: 0
            type: string
        - name: endDate
          in: query
          schema:
            maxLength: 40
            minLength: 0
            type: string
        - name: page
          in: query
          schema:
            maximum: 1000
            minimum: 1
            type: integer
            format: int32
        - name: pageSize
          in: query
          schema:
            maximum: 100
            minimum: 1
            type: integer
            format: int32
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/InvoiceDTO'
              example:
                - invoiceId: 1
                  customerId: null
                  merchantInvoiceRefId: 1234-5678-9101
                  binNumber: '411111'
                  last4Digit: '1111'
                  invoiceStatus: Pending
                  subtotal: 60.99
                  tax: 5.4
                  total: 66.39
                  billingDate: 22-May-26
                  merchantLegalName: null
                  merchantCustomerRefId: null
                  customerFirstName: null
                  customerLastName: null
                - invoiceId: 2
                  customerId: null
                  merchantInvoiceRefId: 1234-5678-9101
                  binNumber: '411111'
                  last4Digit: '1111'
                  invoiceStatus: Pending
                  subtotal: 40.99
                  tax: 3.6
                  total: 43.59
                  billingDate: 22-Jun-26
                  merchantLegalName: null
                  merchantCustomerRefId: null
                  customerFirstName: null
                  customerLastName: null
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/InvoiceDTO'
              example:
                - invoiceId: 1
                  customerId: null
                  merchantInvoiceRefId: 1234-5678-9101
                  binNumber: '411111'
                  last4Digit: '1111'
                  invoiceStatus: Pending
                  subtotal: 60.99
                  tax: 5.4
                  total: 66.39
                  billingDate: 22-May-26
                  merchantLegalName: null
                  merchantCustomerRefId: null
                  customerFirstName: null
                  customerLastName: null
                - invoiceId: 2
                  customerId: null
                  merchantInvoiceRefId: 1234-5678-9101
                  binNumber: '411111'
                  last4Digit: '1111'
                  invoiceStatus: Pending
                  subtotal: 40.99
                  tax: 3.6
                  total: 43.59
                  billingDate: 22-Jun-26
                  merchantLegalName: null
                  merchantCustomerRefId: null
                  customerFirstName: null
                  customerLastName: null
            text/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/InvoiceDTO'
              example:
                - invoiceId: 1
                  customerId: null
                  merchantInvoiceRefId: 1234-5678-9101
                  binNumber: '411111'
                  last4Digit: '1111'
                  invoiceStatus: Pending
                  subtotal: 60.99
                  tax: 5.4
                  total: 66.39
                  billingDate: 22-May-26
                  merchantLegalName: null
                  merchantCustomerRefId: null
                  customerFirstName: null
                  customerLastName: null
                - invoiceId: 2
                  customerId: null
                  merchantInvoiceRefId: 1234-5678-9101
                  binNumber: '411111'
                  last4Digit: '1111'
                  invoiceStatus: Pending
                  subtotal: 40.99
                  tax: 3.6
                  total: 43.59
                  billingDate: 22-Jun-26
                  merchantLegalName: null
                  merchantCustomerRefId: null
                  customerFirstName: null
                  customerLastName: null
        '204':
          description: No Content
        '400':
          description: Bad Request
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/StatusMessageResponse'
              example:
                message: Unable to perform the request action with provided data.
            application/json:
              schema:
                $ref: '#/components/schemas/StatusMessageResponse'
              example:
                message: Unable to perform the request action with provided data.
            text/json:
              schema:
                $ref: '#/components/schemas/StatusMessageResponse'
              example:
                message: Unable to perform the request action with provided data.
        '401':
          description: Unauthorized
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/StatusMessageResponse'
              example:
                message: Attempted to perform an unauthorized operation.
            application/json:
              schema:
                $ref: '#/components/schemas/StatusMessageResponse'
              example:
                message: Attempted to perform an unauthorized operation.
            text/json:
              schema:
                $ref: '#/components/schemas/StatusMessageResponse'
              example:
                message: Attempted to perform an unauthorized operation.
        '404':
          description: Not Found
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/StatusMessageResponse'
              example:
                message: Unable to find an entity with the provided data.
            application/json:
              schema:
                $ref: '#/components/schemas/StatusMessageResponse'
              example:
                message: Unable to find an entity with the provided data.
            text/json:
              schema:
                $ref: '#/components/schemas/StatusMessageResponse'
              example:
                message: Unable to find an entity with the provided data.
      security:
        - Bearer: []
components:
  schemas:
    InvoiceDTO:
      type: object
      properties:
        invoiceId:
          maximum: 1000000000
          minimum: 1
          type: integer
          description: The unique identifier of the invoice.
          format: int64
        parentInvoiceId:
          maximum: 1000000000
          minimum: 1
          type: integer
          format: int64
          nullable: true
        customerId:
          maximum: 1000000000
          minimum: 1
          type: integer
          description: The unique identifier of the customer.
          format: int64
        merchantInvoiceRefId:
          maxLength: 100
          minLength: 0
          type: string
          description: Merchant's unique identifier for the invoice.
        paymentMethod:
          $ref: '#/components/schemas/InvoicePaymentMethodDTO'
        invoiceStatus:
          maxLength: 100
          minLength: 0
          type: string
          description: "The current status of the invoice.\r\n\r\nPossible values: `Paid`, `Pending`, `Noncollectable`, `Failed`, `OneTimePaymentPending`, `RetryPending`."
        subtotal:
          maximum: 10000000
          minimum: 0
          type: number
          format: double
        tax:
          maximum: 10000000
          minimum: 0
          type: number
          format: double
        total:
          maximum: 10000000
          minimum: 0
          type: number
          format: double
        billingDate:
          maxLength: 20
          minLength: 0
          type: string
          description: The day on which the last billing was attempted for the invoice
        merchantLegalName:
          maxLength: 200
          minLength: 0
          type: string
          nullable: true
        merchantCustomerRefId:
          maxLength: 100
          minLength: 0
          type: string
          nullable: true
        customerFirstName:
          maxLength: 150
          minLength: 0
          type: string
          nullable: true
        customerLastName:
          maxLength: 150
          minLength: 0
          type: string
          nullable: true
        subscriptionId:
          maximum: 1000000000
          minimum: 1
          type: integer
          format: int64
          nullable: true
        installmentId:
          maximum: 1000000000
          minimum: 1
          type: integer
          format: int64
          nullable: true
        eligibilityFailReason:
          maxLength: 500
          minLength: 0
          type: string
          nullable: true
        merchantSubscriptionRefId:
          maxLength: 100
          minLength: 0
          type: string
          nullable: true
        networkTransactionId:
          maxLength: 100
          minLength: 0
          type: string
          description: "The identifier returned for Visa, Mastercard, and Discover transactions. Visa and Discover use this value to link subsequent payments in a recurring/installment stream back to the initial transaction.\r\nYou must include this value in the request message (**originalNetworkTransactionId** element) for subsequent recurring payments."
        currency:
          maxLength: 3
          minLength: 0
          type: string
          description: "The three-character ISO currency code.\r\n\r\nDefault value: `USD`"
        invoiceLineItems:
          type: array
          items:
            $ref: '#/components/schemas/InvoiceLineItemDTO'
          nullable: true
        invoiceAttempts:
          type: array
          items:
            $ref: '#/components/schemas/InvoiceAttemptDTO'
          nullable: true
        voidAttempts:
          type: array
          items:
            $ref: '#/components/schemas/VoidAttemptDTO'
          nullable: true
        invoiceStatusEnum:
          $ref: '#/components/schemas/InvoiceStatusEnum'
      additionalProperties: false
    StatusMessageResponse:
      type: object
      properties:
        message:
          type: string
          nullable: true
        errors:
          type: array
          items:
            type: string
          nullable: true
        fluentValidatorErrors:
          type: array
          items:
            $ref: '#/components/schemas/ValidationFailure'
          nullable: true
      additionalProperties: false
    InvoicePaymentMethodDTO:
      type: object
      properties:
        paymentMethodId:
          maximum: 1000000000
          minimum: 1
          type: integer
          description: The unique identifier for the payment method information.
          format: int64
        billingAddressId:
          maximum: 1000000000
          minimum: 1
          type: integer
          description: The unique identifier of the address.
          format: int64
        billingFirstName:
          maxLength: 100
          minLength: 0
          type: string
          description: "**Conditional**: either both BillingFirstName and BillingLastName or BillingFullName must be provided.\r\n\r\nThe customers’s first name associated with a payment method that is used for billing purposes."
        billingLastName:
          maxLength: 100
          minLength: 0
          type: string
          description: "**Conditional**: either both BillingFirstName and BillingLastName or BillingFullName must be provided.\r\n\r\nThe customers’s last name associated with a payment method that is used for billing purposes."
        merchantPaymentMethodRefId:
          maxLength: 100
          minLength: 0
          type: string
          description: Merchant's unique identifier for the payment method.
        billingAddress:
          allOf:
            - $ref: '#/components/schemas/AddressDTO'
          description: >-
            The address associated with a payment method that is used for
            billing purposes. Either an Address ID or detailed address
            information can be provided.
        paymentMethodAchDetails:
          allOf:
            - $ref: '#/components/schemas/AchViewDTO'
          description: ACH account information.
        paymentMethodCreditCardDetails:
          allOf:
            - $ref: '#/components/schemas/CreditCardViewDTO'
          description: The details of credit card payment method.
      additionalProperties: false
    InvoiceLineItemDTO:
      type: object
      properties:
        invoiceLineItemId:
          maximum: 1000000000
          minimum: 0
          type: integer
          format: int64
        name:
          maxLength: 100
          minLength: 0
          type: string
          nullable: true
        description:
          maxLength: 500
          minLength: 0
          type: string
          nullable: true
        value:
          maximum: 10000000
          minimum: 0
          type: number
          format: double
        valueType:
          maxLength: 50
          minLength: 0
          type: string
          nullable: true
        billingValueType:
          $ref: '#/components/schemas/BillingValueTypeEnum'
        invoiceId:
          maximum: 1000000000
          minimum: 1
          type: integer
          description: The unique identifier of the invoice.
          format: int64
      additionalProperties: false
    InvoiceAttemptDTO:
      type: object
      properties:
        invoiceAttemptId:
          maximum: 1000000000
          minimum: 1
          type: integer
          format: int64
        amount:
          maximum: 10000000
          minimum: 0
          type: number
          description: The amount information for the payment.
          format: double
        invoiceAttemptStatus:
          maxLength: 100
          minLength: 0
          type: string
          description: "The status of the invoice attempt.\r\n\r\nPossible values: `Success`, `Fail`, `Pending`, `RetrySuccess`, `RetryFail`, `RetryPending`."
        invoiceAttemptDate:
          type: string
          format: yyyy-MM-ddTHH:mm:ss.fff
        paymentProcessor:
          maxLength: 100
          minLength: 0
          type: string
          description: The name of the processor by which the transaction was processed.
          readOnly: true
        processorTransactionId:
          maxLength: 100
          minLength: 0
          type: string
          description: Payment Processor Transaction Id.
          readOnly: true
        responseCode:
          maxLength: 10
          minLength: 0
          type: string
          description: The processor response code.
          readOnly: true
        responseMessage:
          maxLength: 500
          minLength: 0
          type: string
          description: The processor response message.
          readOnly: true
        processorRawResponse:
          maxLength: 10000
          minLength: 0
          type: string
          description: "**Conditional. The value is returned if includeRawProcessorResponse = true.**\r\nThis field contains the raw data received from the processor after attempting to bill this payment. It does not contain any sensitive information. The field value is a string with the serialized response from the processor in JSON format."
        paymentMethod:
          $ref: '#/components/schemas/PaymentMethodDTO'
        descriptor:
          $ref: '#/components/schemas/TransactionDescriptorDto'
        eligibilityCheckOrderCode:
          maxLength: 100
          minLength: 0
          type: string
          nullable: true
          readOnly: true
        processorMerchantId:
          maxLength: 100
          minLength: 0
          type: string
          description: >-
            The merchant account ID (MID) of the processor by which the
            transaction was processed.
        processingMethod:
          maxLength: 50
          minLength: 0
          type: string
          nullable: true
        revolv3ResponseCode:
          maxLength: 10
          minLength: 0
          type: string
          nullable: true
        revolv3ResponseMessage:
          maxLength: 500
          minLength: 0
          type: string
          nullable: true
        authCode:
          maxLength: 20
          minLength: 0
          type: string
          nullable: true
        processorResponseDateTime:
          maxLength: 40
          type: string
          format: date-time
      additionalProperties: false
    VoidAttemptDTO:
      type: object
      properties:
        voidAttemptId:
          type: integer
          format: int64
        voidAttemptStatus:
          type: string
          nullable: true
        voidAttemptDate:
          type: string
          format: yyyy-MM-ddTHH:mm:ss.fff
        paymentProcessor:
          type: string
          description: The name of the processor by which the transaction was processed.
          readOnly: true
        processorTransactionId:
          type: string
          description: Payment Processor Transaction Id.
          readOnly: true
        responseCode:
          type: string
          description: The processor response code.
          readOnly: true
        responseMessage:
          type: string
          description: The processor response message.
          readOnly: true
        revolv3ResponseCode:
          type: string
          nullable: true
        revolv3ResponseMessage:
          type: string
          nullable: true
        processorResponseDateTime:
          maxLength: 40
          type: string
          format: date-time
        processorRawResponse:
          type: string
          nullable: true
      additionalProperties: false
    InvoiceStatusEnum:
      enum:
        - Paid
        - Void
        - Pending
        - Recycle
        - Noncollectable
        - Failed
        - Refund
        - MerchantPaid
        - MerchantCancelled
        - OneTimePaymentPending
        - PartialRefund
        - BatchPending
        - CapturePending
        - RefundPending
        - RefundDeclined
        - RefundFailed
        - RetryPending
        - RecurringPending
        - MultiCardsPending
        - RefundVoid
        - PartialRefundVoid
      type: string
    ValidationFailure:
      type: object
      properties:
        propertyName:
          type: string
          nullable: true
        errorMessage:
          type: string
          nullable: true
        attemptedValue:
          nullable: true
        customState:
          nullable: true
        severity:
          $ref: '#/components/schemas/Severity'
        errorCode:
          type: string
          nullable: true
        formattedMessagePlaceholderValues:
          type: object
          additionalProperties:
            nullable: true
          nullable: true
      additionalProperties: false
    AddressDTO:
      type: object
      properties:
        addressId:
          type: integer
          description: The unique identifier of the address.
          format: int64
        addressLine1:
          maxLength: 40
          minLength: 2
          type: string
          description: Address.
          nullable: true
        addressLine2:
          maxLength: 40
          minLength: 0
          type: string
          description: Supplemental information for the address.
        city:
          maxLength: 25
          minLength: 2
          type: string
          description: City.
          nullable: true
        state:
          maxLength: 2
          minLength: 2
          type: string
          description: Two-letter state abbreviation.
          nullable: true
        postalCode:
          maxLength: 20
          minLength: 2
          type: string
          description: Postal Code.
          nullable: true
        phoneNumber:
          maxLength: 20
          minLength: 0
          type: string
          description: >-
            The phone number associated with a payment method that is used for
            billing purposes.
        email:
          maxLength: 100
          minLength: 0
          type: string
          description: The email associated with a billing address.
          format: email
        country:
          maxLength: 2
          minLength: 2
          type: string
          description: Country.
          nullable: true
      additionalProperties: false
    AchViewDTO:
      type: object
      properties:
        accountNumberLast4Digits:
          maxLength: 4
          minLength: 4
          pattern: ^\d{4}$
          type: string
          description: Last 4 digits of the bank account.
        accountNumberLength:
          maximum: 17
          minimum: 4
          type: integer
          description: Bank account number length.
          format: int32
        accountType:
          maxLength: 8
          minLength: 0
          pattern: ^(Checking|Savings)$
          type: string
          description: "**Conditional**: the account type is required if the ACH payment method type is supplied in the request.\r\n\r\nBank account type. Allowed values: Checking, Savings. Case-insensitive."
      additionalProperties: false
      nullable: true
    CreditCardViewDTO:
      type: object
      properties:
        binNumber:
          maxLength: 6
          minLength: 0
          pattern: ^\d{1,6}$
          type: string
          description: First 6 digits (BIN) of the card number.
        paymentLast4Digit:
          maxLength: 4
          minLength: 4
          pattern: ^\d{4}$
          type: string
          description: Payment card last 4 digits.
        paymentExpirationDate:
          maxLength: 4
          minLength: 0
          type: string
          description: The card expiration date.
          format: MMYY
          nullable: true
        accountUpdateMessage:
          maxLength: 500
          minLength: 0
          type: string
          description: Account updater message, if available.
        accountUpdateDateTime:
          maxLength: 20
          minLength: 0
          type: string
          description: UTC date-time of the last account updater event.
          format: YYYY-MM-DDThh:mm:ss
          nullable: true
        accountUpdateCode:
          maxLength: 50
          minLength: 0
          type: string
          description: Processor response code of the last account updater event.
      additionalProperties: false
      nullable: true
    BillingValueTypeEnum:
      enum:
        - Standard
        - Discount
        - DiscountPercentage
        - FinalDiscount
        - PriceOverride
      type: string
    PaymentMethodDTO:
      type: object
      properties:
        paymentMethodId:
          maximum: 1000000000
          minimum: 1
          type: integer
          description: The unique identifier for the payment method information.
          format: int64
        billingAddressId:
          maximum: 1000000000
          minimum: 1
          type: integer
          description: The unique identifier of the address.
          format: int64
        billingAddress:
          $ref: '#/components/schemas/AddressDTO'
        billingFirstName:
          maxLength: 100
          minLength: 0
          type: string
          nullable: true
        billingLastName:
          maxLength: 100
          minLength: 0
          type: string
          nullable: true
        merchantPaymentMethodRefId:
          maxLength: 100
          minLength: 0
          type: string
          description: Merchant's unique identifier for the payment method.
        paymentMethodAchDetails:
          allOf:
            - $ref: '#/components/schemas/AchViewDTO'
          description: ACH account information.
        paymentMethodCreditCardDetails:
          allOf:
            - $ref: '#/components/schemas/CreditCardViewDTO'
          description: The details of credit card payment method.
      additionalProperties: false
    TransactionDescriptorDto:
      type: object
      properties:
        subMerchantId:
          type: string
          nullable: true
        subMerchantName:
          type: string
          nullable: true
        subMerchantPhone:
          type: string
          nullable: true
        countryCode:
          type: string
          nullable: true
        city:
          type: string
          nullable: true
      additionalProperties: false
    Severity:
      enum:
        - Error
        - Warning
        - Info
      type: string
  securitySchemes:
    Bearer:
      type: http
      scheme: bearer
      bearerFormat: JWT

````