Entity Reporting
curl --request POST \
--url https://api.eflow.team/v1/advertisers/reporting/entity \
--header 'Content-Type: application/json' \
--header 'X-Eflow-Api-Key: <api-key>' \
--data '
{
"from": "2024-01-01",
"to": "2024-01-31",
"timezone_id": 67,
"currency_id": "USD",
"columns": [
{
"column": "offer"
}
],
"query": {
"filters": []
}
}
'import requests
url = "https://api.eflow.team/v1/advertisers/reporting/entity"
payload = {
"from": "2024-01-01",
"to": "2024-01-31",
"timezone_id": 67,
"currency_id": "USD",
"columns": [{ "column": "offer" }],
"query": { "filters": [] }
}
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({
from: '2024-01-01',
to: '2024-01-31',
timezone_id: 67,
currency_id: 'USD',
columns: [{column: 'offer'}],
query: {filters: []}
})
};
fetch('https://api.eflow.team/v1/advertisers/reporting/entity', 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/advertisers/reporting/entity",
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([
'from' => '2024-01-01',
'to' => '2024-01-31',
'timezone_id' => 67,
'currency_id' => 'USD',
'columns' => [
[
'column' => 'offer'
]
],
'query' => [
'filters' => [
]
]
]),
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/advertisers/reporting/entity"
payload := strings.NewReader("{\n \"from\": \"2024-01-01\",\n \"to\": \"2024-01-31\",\n \"timezone_id\": 67,\n \"currency_id\": \"USD\",\n \"columns\": [\n {\n \"column\": \"offer\"\n }\n ],\n \"query\": {\n \"filters\": []\n }\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/advertisers/reporting/entity")
.header("X-Eflow-Api-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"from\": \"2024-01-01\",\n \"to\": \"2024-01-31\",\n \"timezone_id\": 67,\n \"currency_id\": \"USD\",\n \"columns\": [\n {\n \"column\": \"offer\"\n }\n ],\n \"query\": {\n \"filters\": []\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.eflow.team/v1/advertisers/reporting/entity")
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 \"from\": \"2024-01-01\",\n \"to\": \"2024-01-31\",\n \"timezone_id\": 67,\n \"currency_id\": \"USD\",\n \"columns\": [\n {\n \"column\": \"offer\"\n }\n ],\n \"query\": {\n \"filters\": []\n }\n}"
response = http.request(request)
puts response.read_body{
"table": [
{
"columns": [
{
"column_type": "<string>",
"id": "<string>",
"label": "<string>"
}
],
"reporting": {
"imp": 123,
"total_click": 123,
"unique_click": 123,
"invalid_click": 123,
"cv": 123,
"event": 123,
"cvr": 123,
"evr": 123,
"ctr": 123,
"cost": 123,
"cpc": 123,
"cpm": 123,
"gross_sales": 123
}
}
],
"performance": [
{
"unix": 123,
"reporting": {
"imp": 123,
"total_click": 123,
"unique_click": 123,
"invalid_click": 123,
"cv": 123,
"event": 123,
"cvr": 123,
"evr": 123,
"ctr": 123,
"cost": 123,
"cpc": 123,
"cpm": 123,
"gross_sales": 123
}
}
],
"summary": {
"imp": 123,
"total_click": 123,
"unique_click": 123,
"invalid_click": 123,
"cv": 123,
"event": 123,
"cvr": 123,
"evr": 123,
"ctr": 123,
"cost": 123,
"cpc": 123,
"cpm": 123,
"gross_sales": 123
}
}Reporting
Get Entity Report
POST
/
advertisers
/
reporting
/
entity
Entity Reporting
curl --request POST \
--url https://api.eflow.team/v1/advertisers/reporting/entity \
--header 'Content-Type: application/json' \
--header 'X-Eflow-Api-Key: <api-key>' \
--data '
{
"from": "2024-01-01",
"to": "2024-01-31",
"timezone_id": 67,
"currency_id": "USD",
"columns": [
{
"column": "offer"
}
],
"query": {
"filters": []
}
}
'import requests
url = "https://api.eflow.team/v1/advertisers/reporting/entity"
payload = {
"from": "2024-01-01",
"to": "2024-01-31",
"timezone_id": 67,
"currency_id": "USD",
"columns": [{ "column": "offer" }],
"query": { "filters": [] }
}
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({
from: '2024-01-01',
to: '2024-01-31',
timezone_id: 67,
currency_id: 'USD',
columns: [{column: 'offer'}],
query: {filters: []}
})
};
fetch('https://api.eflow.team/v1/advertisers/reporting/entity', 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/advertisers/reporting/entity",
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([
'from' => '2024-01-01',
'to' => '2024-01-31',
'timezone_id' => 67,
'currency_id' => 'USD',
'columns' => [
[
'column' => 'offer'
]
],
'query' => [
'filters' => [
]
]
]),
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/advertisers/reporting/entity"
payload := strings.NewReader("{\n \"from\": \"2024-01-01\",\n \"to\": \"2024-01-31\",\n \"timezone_id\": 67,\n \"currency_id\": \"USD\",\n \"columns\": [\n {\n \"column\": \"offer\"\n }\n ],\n \"query\": {\n \"filters\": []\n }\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/advertisers/reporting/entity")
.header("X-Eflow-Api-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"from\": \"2024-01-01\",\n \"to\": \"2024-01-31\",\n \"timezone_id\": 67,\n \"currency_id\": \"USD\",\n \"columns\": [\n {\n \"column\": \"offer\"\n }\n ],\n \"query\": {\n \"filters\": []\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.eflow.team/v1/advertisers/reporting/entity")
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 \"from\": \"2024-01-01\",\n \"to\": \"2024-01-31\",\n \"timezone_id\": 67,\n \"currency_id\": \"USD\",\n \"columns\": [\n {\n \"column\": \"offer\"\n }\n ],\n \"query\": {\n \"filters\": []\n }\n}"
response = http.request(request)
puts response.read_body{
"table": [
{
"columns": [
{
"column_type": "<string>",
"id": "<string>",
"label": "<string>"
}
],
"reporting": {
"imp": 123,
"total_click": 123,
"unique_click": 123,
"invalid_click": 123,
"cv": 123,
"event": 123,
"cvr": 123,
"evr": 123,
"ctr": 123,
"cost": 123,
"cpc": 123,
"cpm": 123,
"gross_sales": 123
}
}
],
"performance": [
{
"unix": 123,
"reporting": {
"imp": 123,
"total_click": 123,
"unique_click": 123,
"invalid_click": 123,
"cv": 123,
"event": 123,
"cvr": 123,
"evr": 123,
"ctr": 123,
"cost": 123,
"cpc": 123,
"cpm": 123,
"gross_sales": 123
}
}
],
"summary": {
"imp": 123,
"total_click": 123,
"unique_click": 123,
"invalid_click": 123,
"cv": 123,
"event": 123,
"cvr": 123,
"evr": 123,
"ctr": 123,
"cost": 123,
"cpc": 123,
"cpm": 123,
"gross_sales": 123
}
}The main reporting endpoint for advertisers. Pivot your performance data by up to 10 dimensions over a date range. Returns table data, time-series performance, and an aggregated summary.
Data is automatically scoped to the authenticated advertiser — no advertiser filter is needed. The API key determines which advertiser’s data is returned.
Maximum reporting interval is one year (365 days). Results are limited to 10,000 rows. To stay under the limit, use
query.metric_filters to drop rows below a threshold — for example, filter to rows with cost by adding { "metric_type": "revenue", "operator": "greater_than", "metric_value": 0 } (an advertiser’s cost is the revenue metric).Authorizations
Body
application/json
Response
200 - application/json
Was this page helpful?
