curl --request GET \
--url https://api-sandbox.revolv3.com/api/Customers/{customerId}/invoices \
--header 'x-revolv3-token: <api-key>'import requests
url = "https://api-sandbox.revolv3.com/api/Customers/{customerId}/invoices"
headers = {"x-revolv3-token": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-revolv3-token': '<api-key>'}};
fetch('https://api-sandbox.revolv3.com/api/Customers/{customerId}/invoices', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api-sandbox.revolv3.com/api/Customers/{customerId}/invoices",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-revolv3-token: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api-sandbox.revolv3.com/api/Customers/{customerId}/invoices"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-revolv3-token", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api-sandbox.revolv3.com/api/Customers/{customerId}/invoices")
.header("x-revolv3-token", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-sandbox.revolv3.com/api/Customers/{customerId}/invoices")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-revolv3-token"] = '<api-key>'
response = http.request(request)
puts response.read_body[
{
"invoiceId": 1,
"customerId": null,
"merchantInvoiceRefId": "1234-5678-9101",
"binNumber": "411111",
"last4Digit": "1111",
"invoiceStatus": "Pending",
"subtotal": 60.99,
"tax": 5.4,
"total": 66.39,
"billingDate": "8/1/2026",
"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": "9/1/2026",
"merchantLegalName": null,
"merchantCustomerRefId": null,
"customerFirstName": null,
"customerLastName": null
}
]{
"message": "Unable to perform the request action with provided data."
}{
"message": "Attempted to perform an unauthorized operation."
}{
"message": "Unable to find an entity with the provided data."
}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.
curl --request GET \
--url https://api-sandbox.revolv3.com/api/Customers/{customerId}/invoices \
--header 'x-revolv3-token: <api-key>'import requests
url = "https://api-sandbox.revolv3.com/api/Customers/{customerId}/invoices"
headers = {"x-revolv3-token": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-revolv3-token': '<api-key>'}};
fetch('https://api-sandbox.revolv3.com/api/Customers/{customerId}/invoices', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api-sandbox.revolv3.com/api/Customers/{customerId}/invoices",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-revolv3-token: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api-sandbox.revolv3.com/api/Customers/{customerId}/invoices"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-revolv3-token", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api-sandbox.revolv3.com/api/Customers/{customerId}/invoices")
.header("x-revolv3-token", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-sandbox.revolv3.com/api/Customers/{customerId}/invoices")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-revolv3-token"] = '<api-key>'
response = http.request(request)
puts response.read_body[
{
"invoiceId": 1,
"customerId": null,
"merchantInvoiceRefId": "1234-5678-9101",
"binNumber": "411111",
"last4Digit": "1111",
"invoiceStatus": "Pending",
"subtotal": 60.99,
"tax": 5.4,
"total": 66.39,
"billingDate": "8/1/2026",
"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": "9/1/2026",
"merchantLegalName": null,
"merchantCustomerRefId": null,
"customerFirstName": null,
"customerLastName": null
}
]{
"message": "Unable to perform the request action with provided data."
}{
"message": "Attempted to perform an unauthorized operation."
}{
"message": "Unable to find an entity with the provided data."
}Authorizations
Path Parameters
1 <= x <= 1000000000Query Parameters
10010040401 <= x <= 10001 <= x <= 100Response
OK
The unique identifier of the invoice.
1 <= x <= 10000000001 <= x <= 1000000000The unique identifier of the customer.
1 <= x <= 1000000000Merchant's unique identifier for the invoice.
100Show child attributes
Show child attributes
The current status of the invoice.
Possible values: Paid, Pending, Noncollectable, Failed, OneTimePaymentPending, RetryPending.
1000 <= x <= 100000000 <= x <= 100000000 <= x <= 10000000The day on which the last billing was attempted for the invoice
202001001501501 <= x <= 10000000001 <= x <= 1000000000500100The 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. You must include this value in the request message (originalNetworkTransactionId element) for subsequent recurring payments.
100The three-character ISO currency code.
Default value: USD
3Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Paid, Void, Pending, Recycle, Noncollectable, Failed, Refund, MerchantPaid, MerchantCancelled, OneTimePaymentPending, PartialRefund, BatchPending, CapturePending, RefundPending, RefundDeclined, RefundFailed, RetryPending, RecurringPending, MultiCardsPending, RefundVoid, PartialRefundVoid 
