Skip to main content
POST
/
affiliates
/
billings
/
affiliates
/
invoicestable
Find Invoices (Advanced)
curl --request POST \
  --url https://api.eflow.team/v1/affiliates/billings/affiliates/invoicestable \
  --header 'Content-Type: application/json' \
  --header 'X-Eflow-Api-Key: <api-key>' \
  --data '
{
  "filters": {
    "affiliate_invoice_status": "unpaid"
  },
  "page": 1,
  "page_size": 50
}
'
import requests

url = "https://api.eflow.team/v1/affiliates/billings/affiliates/invoicestable"

payload = {
"filters": { "affiliate_invoice_status": "unpaid" },
"page": 1,
"page_size": 50
}
headers = {
"X-Eflow-Api-Key": "<api-key>",
"Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
const options = {
method: 'POST',
headers: {'X-Eflow-Api-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({filters: {affiliate_invoice_status: 'unpaid'}, page: 1, page_size: 50})
};

fetch('https://api.eflow.team/v1/affiliates/billings/affiliates/invoicestable', 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.eflow.team/v1/affiliates/billings/affiliates/invoicestable",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'filters' => [
'affiliate_invoice_status' => 'unpaid'
],
'page' => 1,
'page_size' => 50
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-Eflow-Api-Key: <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"
"strings"
"net/http"
"io"
)

func main() {

url := "https://api.eflow.team/v1/affiliates/billings/affiliates/invoicestable"

payload := strings.NewReader("{\n \"filters\": {\n \"affiliate_invoice_status\": \"unpaid\"\n },\n \"page\": 1,\n \"page_size\": 50\n}")

req, _ := http.NewRequest("POST", url, payload)

req.Header.Add("X-Eflow-Api-Key", "<api-key>")
req.Header.Add("Content-Type", "application/json")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.post("https://api.eflow.team/v1/affiliates/billings/affiliates/invoicestable")
.header("X-Eflow-Api-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"filters\": {\n \"affiliate_invoice_status\": \"unpaid\"\n },\n \"page\": 1,\n \"page_size\": 50\n}")
.asString();
require 'uri'
require 'net/http'

url = URI("https://api.eflow.team/v1/affiliates/billings/affiliates/invoicestable")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["X-Eflow-Api-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"filters\": {\n \"affiliate_invoice_status\": \"unpaid\"\n },\n \"page\": 1,\n \"page_size\": 50\n}"

response = http.request(request)
puts response.read_body
{
  "invoices": [
    {
      "network_affiliate_invoice_id": 123,
      "network_id": 123,
      "affiliate_invoice_status": "<string>",
      "start_time": "2023-11-07T05:31:56Z",
      "end_time": "2023-11-07T05:31:56Z",
      "timezone_id": 123,
      "balance": 123,
      "billed": 123,
      "paid": 123,
      "payment_terms": "<string>",
      "currency_id": "<string>",
      "notes": "<string>",
      "time_created": 1734455015,
      "time_saved": 1734455015
    }
  ],
  "paging": {
    "page": 123,
    "page_size": 123,
    "total_count": 123
  }
}
Returns a paginated list of invoices for the authenticated affiliate. Supports filtering by invoice status, date range, and balance thresholds. Results are sorted by date in descending order. Pagination is controlled through the page and page_size query parameters, not the JSON request body. For example, ?page=2&page_size=100 returns the second page of 100 results.

Authorizations

X-Eflow-Api-Key
string
header
required

The affiliate's API key generated from the Affiliate Portal. Uses the X-Eflow-Api-Key header.

Query Parameters

page
integer
default:1

The page of results to retrieve.

Required range: x >= 1
page_size
integer
default:50

The number of results to return per page.

Required range: x >= 1

Body

application/json
filters
object

Filter criteria for invoices.

Response

200 - application/json
invoices
object[]

Array of invoices.

paging
object