List invoices
CURL *hnd = curl_easy_init();
curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET");curl_easy_setopt(hnd, CURLOPT_URL, "https://api.proxyrequest.com/api/v1/invoices?gateway=coinbase&status=error&type=balance");
struct curl_slist *headers = NULL;headers = curl_slist_append(headers, "Authorization: Bearer <token>");curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);
CURLcode ret = curl_easy_perform(hnd);using System.Net.Http.Headers;var client = new HttpClient();var request = new HttpRequestMessage{ Method = HttpMethod.Get, RequestUri = new Uri("https://api.proxyrequest.com/api/v1/invoices?gateway=coinbase&status=error&type=balance"), Headers = { { "Authorization", "Bearer <token>" }, },};using (var response = await client.SendAsync(request)){ response.EnsureSuccessStatusCode(); var body = await response.Content.ReadAsStringAsync(); Console.WriteLine(body);}package main
import ( "fmt" "net/http" "io")
func main() {
url := "https://api.proxyrequest.com/api/v1/invoices?gateway=coinbase&status=error&type=balance"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close() body, _ := io.ReadAll(res.Body)
fmt.Println(res) fmt.Println(string(body))
}HttpRequest request = HttpRequest.newBuilder() .uri(URI.create("https://api.proxyrequest.com/api/v1/invoices?gateway=coinbase&status=error&type=balance")) .header("Authorization", "Bearer <token>") .method("GET", HttpRequest.BodyPublishers.noBody()) .build();HttpResponse<String> response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString());System.out.println(response.body());OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder() .url("https://api.proxyrequest.com/api/v1/invoices?gateway=coinbase&status=error&type=balance") .get() .addHeader("Authorization", "Bearer <token>") .build();
Response response = client.newCall(request).execute();import axios from 'axios';
const options = { method: 'GET', url: 'https://api.proxyrequest.com/api/v1/invoices', params: {gateway: 'coinbase', status: 'error', type: 'balance'}, headers: {Authorization: 'Bearer <token>'}};
try { const { data } = await axios.request(options); console.log(data);} catch (error) { console.error(error);}const url = 'https://api.proxyrequest.com/api/v1/invoices?gateway=coinbase&status=error&type=balance';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}val client = OkHttpClient()
val request = Request.Builder() .url("https://api.proxyrequest.com/api/v1/invoices?gateway=coinbase&status=error&type=balance") .get() .addHeader("Authorization", "Bearer <token>") .build()
val response = client.newCall(request).execute()use reqwest;
#[tokio::main]pub async fn main() { let url = "https://api.proxyrequest.com/api/v1/invoices";
let querystring = [ ("gateway", "coinbase"), ("status", "error"), ("type", "balance"), ];
let mut headers = reqwest::header::HeaderMap::new(); headers.insert("Authorization", "Bearer <token>".parse().unwrap());
let client = reqwest::Client::new(); let response = client.get(url) .query(&querystring) .headers(headers) .send() .await;
let results = response.unwrap() .json::<serde_json::Value>() .await .unwrap();
dbg!(results);}curl --request GET \ --url 'https://api.proxyrequest.com/api/v1/invoices?gateway=coinbase&status=error&type=balance' \ --header 'Authorization: Bearer <token>'wget --quiet \ --method GET \ --header 'Authorization: Bearer <token>' \ --output-document \ - 'https://api.proxyrequest.com/api/v1/invoices?gateway=coinbase&status=error&type=balance'Returns invoices visible to the authenticated account. Resellers and administrators can filter by an accessible user.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Query Parameters
Section titled “Query Parameters”The payment gateway used for processing the payment. * coinbase - Coinbase * cryptomus - Cryptomus * stripe - Stripe * coingate - Coingate * wallet - Wallet * manual - Manual
Number of results to return per page.
The initial index from which to return the results.
Which field to use when ordering the results.
Case-insensitive partial search across Invoice fields: id, internal_id, and user.email. Separate multiple terms with spaces or commas; every term must match at least one listed field.
After changing invoice status to PAID, the invoice will be processed and user package created in case none exists. If you need to cancel the invoice, make sure to subtract data from the user package after changing the invoice status. Changing the status from PAID to any other will not affect the user package’s data or proxies. * pending - Pending * paid - Paid * unpaid - Unpaid * error - Error
The type of invoice, indicating the type of proxy service. Options include: RESIDENTIAL: Residential proxies. STATIC: Static proxies. * static - Static * residential - Residential * balance - Balance
Responses
Section titled “Responses”The operation completed successfully.
object
object
object
Unique display name for this package shown to customers and in the admin. Residential Starter Business Pro
Lowercase alphanumeric identifier used internally for package resolution and proxy username routing. Cannot be changed without affecting active connections. residential01 bizpro
When enabled, users on this package have no data cap. The proxy will not enforce any bandwidth limit.
object
object
Two-letter ISO 3166-1 alpha-2 country code. Must be unique. us de fr
English display name of the country used across the admin and API responses.
Native-language name of the country as it appears in the source data. Deutschland Français
object
object
object
object
Arbitrary coupon value
Leaving this field empty will generate a random code.
If true, coupon can be used multiple times.
If true, coupon can not be used for one-time package tiers.
free_data- Free Data *monetary- Money *percentage- Percentage
Number of times coupon can be used
Leave empty for coupons that never expire
The marketer who owns this coupon. Required if is_marketer is true.
The user who created this coupon.
The type of invoice, indicating the type of proxy service. Options include: RESIDENTIAL: Residential proxies. STATIC: Static proxies. * static - Static * residential - Residential * balance - Balance
Indicates whether this invoice is for a one-time purchase. Default is False, meaning it is a recurring invoice.
Indicates whether this invoice is a payout to the marketer. Default is False.
A unique identifier for the invoice, generated automatically.
After changing invoice status to PAID, the invoice will be processed and user package created in case none exists. If you need to cancel the invoice, make sure to subtract data from the user package after changing the invoice status. Changing the status from PAID to any other will not affect the user package’s data or proxies. * pending - Pending * paid - Paid * unpaid - Unpaid * error - Error
A description of the invoice. This field is optional and can be left blank.
The maximum number of concurrent connections allowed for this package.
The number of proxies to assign.
The amount of data in bytes.
The balance to top up for the user. Must be zero or positive.
The total price of the invoice, including any discounts. Must be at least 1 cent.
The payment gateway used for processing the payment. * coinbase - Coinbase * cryptomus - Cryptomus * stripe - Stripe * coingate - Coingate * wallet - Wallet * manual - Manual
The URL for making the payment. Optional field with a maximum length of 500 characters.
The Coingate order token for the payment. Optional field with a maximum length of 255 characters.
The Coinbase charge ID for the payment. Optional field with a maximum length of 255 characters.
The VAT percentage applied to the invoice. Must be between 0 and 100.
The date and time when the invoice was paid.
Examples
Example response
{ "count": 1, "next": null, "previous": null, "results": [ { "id": "550e8400-e29b-41d4-a716-446655440001", "package": { "id": "550e8400-e29b-41d4-a716-446655440001", "name": "Residential 10 GB", "alias": "residential-10gb", "is_unlimited_data": true, "targeting_options": { "package": "package", "split_char": "-", "value_char": "-", "continent": "continent", "country": "us", "region": "california", "city": "los_angeles", "asn": "15169", "isp": "comcast", "username": "developer", "pool": "residential", "location": "location", "location_format": "location format", "session": "session", "session_mode_tag": "session mode tag", "session_ttl": "session ttl", "session_ttl_format": 1, "os": "os", "os_combined": true, "os_split_char": "os split char", "os_linux": "os linux", "os_windows": "os windows", "os_ios": "os ios", "os_macos": "os macos", "os_android": "os android" } }, "country": "us", "user_id": "550e8400-e29b-41d4-a716-446655440001", "coupon": { "id": "550e8400-e29b-41d4-a716-446655440001", "is_expired": true, "is_redeemed": true, "packages": [ {} ], "created": "2026-07-01T12:30:00Z", "value": 1, "code": "us", "is_multi_use": true, "is_available_to_one_time": true, "type": "free_data", "limit": 100, "valid_until": "2026-07-01T12:30:00Z", "marketer": "550e8400-e29b-41d4-a716-446655440001", "user": "550e8400-e29b-41d4-a716-446655440001" }, "updated": "2026-07-01T12:30:00Z", "created": "2026-07-01T12:30:00Z", "type": "static", "is_one_time": true, "is_payout": true, "internal_id": "550e8400-e29b-41d4-a716-446655440001", "status": "pending", "description": "description", "connection_limit": 1, "quantity": 1, "data": 1073741824, "balance": 1, "price_total": 1, "gateway": "coinbase", "payment_url": "https://developer.example.com/resource", "coingate_order_token": "coingate order token", "coinbase_charge_id": "550e8400-e29b-41d4-a716-446655440001", "vat": 24.99, "company_name": "company name", "company_address": "company address", "company_city": "company city", "company_postal_code": "company postal code", "company_registration_number": "company registration number", "company_vat_number": "company vat number", "paid": "2026-07-01T12:30:00Z" } ]}The request is malformed or violates a business rule.
Validation and API error payload. Field names may be added dynamically; field errors are returned as arrays of human-readable messages.
object
Stable translation key suitable for client localisation.
Examples
Validation error
{ "non_field_errors": [ "The request could not be processed." ], "translation": "errors.request.invalid"}Authentication credentials are missing, expired, or invalid.
Validation and API error payload. Field names may be added dynamically; field errors are returned as arrays of human-readable messages.
object
Stable translation key suitable for client localisation.
Examples
Authentication required
{ "detail": "Authentication credentials were not provided."}The authenticated account cannot perform this operation.
Validation and API error payload. Field names may be added dynamically; field errors are returned as arrays of human-readable messages.
object
Stable translation key suitable for client localisation.
Examples
Permission denied
{ "detail": "You do not have permission to perform this action."}