curl --request GET \
--url https://api-sandbox.revolv3.com/api/Invoices/v{version} \
--header 'x-revolv3-token: <api-key>'import requests
url = "https://api-sandbox.revolv3.com/api/Invoices/v{version}"
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/Invoices/v{version}', 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/Invoices/v{version}",
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/Invoices/v{version}"
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/Invoices/v{version}")
.header("x-revolv3-token", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-sandbox.revolv3.com/api/Invoices/v{version}")
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."
}Get Invoices V1
Returns a detailed list of invoices using the latest version of our invoice retrieval logic. This endpoint provides comprehensive invoice information, including status, payment attempts, raw processor responses (if enabled), and additional filtering options available beyond the legacy version.
It supports flexible search by merchant customer reference, billing timestamps, and update timestamps. Pagination is supported via Page and PageSize query parameters — with a maximum of 100 entries per page. If not specified, the default is page 1 with 100 results.
Use this endpoint to power dashboards, reporting tools, or reconciliation processes requiring complete invoice details. This is the recommended endpoint for retrieving invoices moving forward.
curl --request GET \
--url https://api-sandbox.revolv3.com/api/Invoices/v{version} \
--header 'x-revolv3-token: <api-key>'import requests
url = "https://api-sandbox.revolv3.com/api/Invoices/v{version}"
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/Invoices/v{version}', 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/Invoices/v{version}",
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/Invoices/v{version}"
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/Invoices/v{version}")
.header("x-revolv3-token", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-sandbox.revolv3.com/api/Invoices/v{version}")
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."
}Authorizations
Path Parameters
Query Parameters
100404040401 <= x <= 10001 <= x <= 100BillingDate, LastUpdateDate, InvoiceId Response
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 
