Conversion Report
curl --request POST \
--url https://api.eflow.team/v1/affiliates/reporting/conversions \
--header 'Content-Type: application/json' \
--header 'X-Eflow-Api-Key: <api-key>' \
--data '
{
"from": "2026-03-01",
"to": "2026-03-31",
"timezone_id": 67,
"show_conversions": true,
"show_events": true,
"query": {
"filters": []
}
}
'import requests
url = "https://api.eflow.team/v1/affiliates/reporting/conversions"
payload = {
"from": "2026-03-01",
"to": "2026-03-31",
"timezone_id": 67,
"show_conversions": True,
"show_events": True,
"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: '2026-03-01',
to: '2026-03-31',
timezone_id: 67,
show_conversions: true,
show_events: true,
query: {filters: []}
})
};
fetch('https://api.eflow.team/v1/affiliates/reporting/conversions', 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/reporting/conversions",
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' => '2026-03-01',
'to' => '2026-03-31',
'timezone_id' => 67,
'show_conversions' => true,
'show_events' => true,
'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/affiliates/reporting/conversions"
payload := strings.NewReader("{\n \"from\": \"2026-03-01\",\n \"to\": \"2026-03-31\",\n \"timezone_id\": 67,\n \"show_conversions\": true,\n \"show_events\": true,\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/affiliates/reporting/conversions")
.header("X-Eflow-Api-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"from\": \"2026-03-01\",\n \"to\": \"2026-03-31\",\n \"timezone_id\": 67,\n \"show_conversions\": true,\n \"show_events\": true,\n \"query\": {\n \"filters\": []\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.eflow.team/v1/affiliates/reporting/conversions")
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\": \"2026-03-01\",\n \"to\": \"2026-03-31\",\n \"timezone_id\": 67,\n \"show_conversions\": true,\n \"show_events\": true,\n \"query\": {\n \"filters\": []\n }\n}"
response = http.request(request)
puts response.read_body{
"conversions": [
{
"conversion_id": "<string>",
"transaction_id": "<string>",
"conversion_unix_timestamp": 123,
"click_unix_timestamp": 123,
"revenue": 123,
"sale_amount": 123,
"event": "<string>",
"is_event": true,
"source_id": "<string>",
"revenue_type": "<string>",
"sub1": "<string>",
"sub2": "<string>",
"sub3": "<string>",
"sub4": "<string>",
"sub5": "<string>",
"sub6": "<string>",
"sub7": "<string>",
"sub8": "<string>",
"sub9": "<string>",
"sub10": "<string>",
"adv1": "<string>",
"adv2": "<string>",
"adv3": "<string>",
"adv4": "<string>",
"adv5": "<string>",
"adv6": "<string>",
"adv7": "<string>",
"adv8": "<string>",
"adv9": "<string>",
"adv10": "<string>",
"session_user_ip": "<string>",
"conversion_user_ip": "<string>",
"country": "<string>",
"region": "<string>",
"city": "<string>",
"dma": 123,
"carrier": "<string>",
"isp": "<string>",
"platform": "<string>",
"os_version": "<string>",
"device_type": "<string>",
"brand": "<string>",
"browser": "<string>",
"language": "<string>",
"http_user_agent": "<string>",
"referer": "<string>",
"app_id": "<string>",
"idfa": "<string>",
"idfa_md5": "<string>",
"idfa_sha1": "<string>",
"google_ad_id": "<string>",
"google_ad_id_md5": "<string>",
"google_ad_id_sha1": "<string>",
"android_id": "<string>",
"android_id_md5": "<string>",
"android_id_sha1": "<string>",
"currency_id": "<string>",
"is_view_through": true,
"order_id": "<string>",
"coupon_code": "<string>",
"relationship": {
"offer": {
"network_offer_id": 123,
"network_id": 123,
"network_tracking_domain_id": 123,
"name": "<string>",
"offer_status": "<string>"
},
"events_count": 123
}
}
],
"paging": {
"page": 123,
"page_size": 123,
"total_count": 123
}
}Reporting
Search Conversions
POST
/
affiliates
/
reporting
/
conversions
Conversion Report
curl --request POST \
--url https://api.eflow.team/v1/affiliates/reporting/conversions \
--header 'Content-Type: application/json' \
--header 'X-Eflow-Api-Key: <api-key>' \
--data '
{
"from": "2026-03-01",
"to": "2026-03-31",
"timezone_id": 67,
"show_conversions": true,
"show_events": true,
"query": {
"filters": []
}
}
'import requests
url = "https://api.eflow.team/v1/affiliates/reporting/conversions"
payload = {
"from": "2026-03-01",
"to": "2026-03-31",
"timezone_id": 67,
"show_conversions": True,
"show_events": True,
"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: '2026-03-01',
to: '2026-03-31',
timezone_id: 67,
show_conversions: true,
show_events: true,
query: {filters: []}
})
};
fetch('https://api.eflow.team/v1/affiliates/reporting/conversions', 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/reporting/conversions",
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' => '2026-03-01',
'to' => '2026-03-31',
'timezone_id' => 67,
'show_conversions' => true,
'show_events' => true,
'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/affiliates/reporting/conversions"
payload := strings.NewReader("{\n \"from\": \"2026-03-01\",\n \"to\": \"2026-03-31\",\n \"timezone_id\": 67,\n \"show_conversions\": true,\n \"show_events\": true,\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/affiliates/reporting/conversions")
.header("X-Eflow-Api-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"from\": \"2026-03-01\",\n \"to\": \"2026-03-31\",\n \"timezone_id\": 67,\n \"show_conversions\": true,\n \"show_events\": true,\n \"query\": {\n \"filters\": []\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.eflow.team/v1/affiliates/reporting/conversions")
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\": \"2026-03-01\",\n \"to\": \"2026-03-31\",\n \"timezone_id\": 67,\n \"show_conversions\": true,\n \"show_events\": true,\n \"query\": {\n \"filters\": []\n }\n}"
response = http.request(request)
puts response.read_body{
"conversions": [
{
"conversion_id": "<string>",
"transaction_id": "<string>",
"conversion_unix_timestamp": 123,
"click_unix_timestamp": 123,
"revenue": 123,
"sale_amount": 123,
"event": "<string>",
"is_event": true,
"source_id": "<string>",
"revenue_type": "<string>",
"sub1": "<string>",
"sub2": "<string>",
"sub3": "<string>",
"sub4": "<string>",
"sub5": "<string>",
"sub6": "<string>",
"sub7": "<string>",
"sub8": "<string>",
"sub9": "<string>",
"sub10": "<string>",
"adv1": "<string>",
"adv2": "<string>",
"adv3": "<string>",
"adv4": "<string>",
"adv5": "<string>",
"adv6": "<string>",
"adv7": "<string>",
"adv8": "<string>",
"adv9": "<string>",
"adv10": "<string>",
"session_user_ip": "<string>",
"conversion_user_ip": "<string>",
"country": "<string>",
"region": "<string>",
"city": "<string>",
"dma": 123,
"carrier": "<string>",
"isp": "<string>",
"platform": "<string>",
"os_version": "<string>",
"device_type": "<string>",
"brand": "<string>",
"browser": "<string>",
"language": "<string>",
"http_user_agent": "<string>",
"referer": "<string>",
"app_id": "<string>",
"idfa": "<string>",
"idfa_md5": "<string>",
"idfa_sha1": "<string>",
"google_ad_id": "<string>",
"google_ad_id_md5": "<string>",
"google_ad_id_sha1": "<string>",
"android_id": "<string>",
"android_id_md5": "<string>",
"android_id_sha1": "<string>",
"currency_id": "<string>",
"is_view_through": true,
"order_id": "<string>",
"coupon_code": "<string>",
"relationship": {
"offer": {
"network_offer_id": 123,
"network_id": 123,
"network_tracking_domain_id": 123,
"name": "<string>",
"offer_status": "<string>"
},
"events_count": 123
}
}
],
"paging": {
"page": 123,
"page_size": 123,
"total_count": 123
}
}Returns a list of individual conversions and/or events for the authenticated affiliate. Each conversion is returned as a separate element. Results are paginated and can be filtered by date range, offer, and other dimensions.
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 conversions.
The date range (from / to) is limited to the prior 365 days. Requests with dates older than 365 days will return an error.Authorizations
The affiliate's API key generated from the Affiliate Portal. Uses the same X-Eflow-Api-Key header as the Network API, but the key belongs to the affiliate user rather than the network admin.
Query Parameters
The page of results to retrieve.
Required range:
x >= 1The number of results to return per page.
Required range:
x >= 1Body
application/json
Start date. Format YYYY-MM-DD. Must be within the last 365 days.
End date. Format YYYY-MM-DD. Must be within the last 365 days.
Timezone identifier for the date range.
Must be explicitly set to true to include conversion records in the response. Does not default to true — omitting this field will return no conversions.
Include post-conversion event records in the response.
Query configuration with optional filters.
Show child attributes
Show child attributes
Was this page helpful?
⌘I
