curl --request GET \
--url https://api.eflow.team/v1/networks/usm/rules/{ruleId} \
--header 'X-Eflow-Api-Key: <api-key>'import requests
url = "https://api.eflow.team/v1/networks/usm/rules/{ruleId}"
headers = {"X-Eflow-Api-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-Eflow-Api-Key': '<api-key>'}};
fetch('https://api.eflow.team/v1/networks/usm/rules/{ruleId}', 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/networks/usm/rules/{ruleId}",
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-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"
"net/http"
"io"
)
func main() {
url := "https://api.eflow.team/v1/networks/usm/rules/{ruleId}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-Eflow-Api-Key", "<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.eflow.team/v1/networks/usm/rules/{ruleId}")
.header("X-Eflow-Api-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.eflow.team/v1/networks/usm/rules/{ruleId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-Eflow-Api-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"name": "High-LTV bonus",
"status": "active",
"aggregation_level": "user",
"period": "daily",
"trigger_type": "one_time",
"time_window_duration": 30,
"goals": [
{
"network_usm_rule_goal_id": 123,
"metric": "data_point",
"metric_data_point_identifier": "ltv_90d",
"metric_aggr_function": "sum",
"operator": "greater_than",
"value_numeric": 123,
"value_string": "<string>"
}
],
"network_usm_rule_id": 3,
"network_id": 1,
"start_date": "2026-09-01",
"end_date": "2026-12-31",
"network_offer_ids": [
123
],
"network_advertiser_ids": [
123
],
"network_affiliate_ids": [
123
],
"network_offer_payout_revenue_id": 123,
"is_payout_enabled": true,
"payout_action": "exact",
"payout_value": 123,
"payout_type": "cpa",
"payout_percentage": 123,
"is_revenue_enabled": true,
"revenue_action": "exact",
"revenue_value": 123,
"revenue_type": "rpa",
"revenue_percentage": 123,
"time_created": 1788398644,
"time_saved": 1788398704,
"relationship": {}
}Get Rule
Retrieve a single Customer Value rule, with its goals, by its ID.
curl --request GET \
--url https://api.eflow.team/v1/networks/usm/rules/{ruleId} \
--header 'X-Eflow-Api-Key: <api-key>'import requests
url = "https://api.eflow.team/v1/networks/usm/rules/{ruleId}"
headers = {"X-Eflow-Api-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-Eflow-Api-Key': '<api-key>'}};
fetch('https://api.eflow.team/v1/networks/usm/rules/{ruleId}', 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/networks/usm/rules/{ruleId}",
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-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"
"net/http"
"io"
)
func main() {
url := "https://api.eflow.team/v1/networks/usm/rules/{ruleId}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-Eflow-Api-Key", "<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.eflow.team/v1/networks/usm/rules/{ruleId}")
.header("X-Eflow-Api-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.eflow.team/v1/networks/usm/rules/{ruleId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-Eflow-Api-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"name": "High-LTV bonus",
"status": "active",
"aggregation_level": "user",
"period": "daily",
"trigger_type": "one_time",
"time_window_duration": 30,
"goals": [
{
"network_usm_rule_goal_id": 123,
"metric": "data_point",
"metric_data_point_identifier": "ltv_90d",
"metric_aggr_function": "sum",
"operator": "greater_than",
"value_numeric": 123,
"value_string": "<string>"
}
],
"network_usm_rule_id": 3,
"network_id": 1,
"start_date": "2026-09-01",
"end_date": "2026-12-31",
"network_offer_ids": [
123
],
"network_advertiser_ids": [
123
],
"network_affiliate_ids": [
123
],
"network_offer_payout_revenue_id": 123,
"is_payout_enabled": true,
"payout_action": "exact",
"payout_value": 123,
"payout_type": "cpa",
"payout_percentage": 123,
"is_revenue_enabled": true,
"revenue_action": "exact",
"revenue_value": 123,
"revenue_type": "rpa",
"revenue_percentage": 123,
"time_created": 1788398644,
"time_saved": 1788398704,
"relationship": {}
}Authorizations
The Everflow API key generated from the Control Center > Security.
Path Parameters
The rule identifier.
Response
The rule name shown in the Everflow UI.
"High-LTV bonus"
Whether the rule is evaluated against incoming conversions.
active, inactive How customer activity is grouped before goals are evaluated. user aggregates all of a customer's activity across the network; the compound levels keep a separate total per partner, offer or advertiser.
user, user_offer, user_affiliate, user_advertiser, user_affiliate_offer, user_affiliate_advertiser The window the aggregation resets on. global and since_user_sign_up never reset, and are the only periods allowed with a one_time trigger.
daily, weekly, monthly, quarterly, global, since_user_sign_up Whether the rule fires once per customer (one_time) or every time the goals are met (recurring). one_time requires a non-resetting period, and forces payout_action exact with payout_type cpa.
one_time, recurring How many days of customer history the rule looks back over. Must be greater than 0.
30
The conditions a customer must meet. All goals must match. Replaced wholesale on every update.
Show child attributes
Show child attributes
Unique rule ID.
3
Network ID.
1
Date the rule starts applying (format: YYYY-MM-DD).
"2026-09-01"
Date the rule stops applying (format: YYYY-MM-DD).
"2026-12-31"
Offers the rule applies to. Leave empty to apply to all offers.
Advertisers the rule applies to. Leave empty to apply to all advertisers.
Partners the rule applies to. Leave empty to apply to all partners.
Restrict the rule to one specific offer payout/revenue entry (event). Send 0 to apply to every event on the selected offers. Cannot be set when network_offer_ids holds more than one offer.
Whether the rule adjusts partner payout.
How payout is adjusted. exact sets the payout outright, flat_increase and flat_decrease add or subtract payout_value, and increase and decrease apply payout_percentage. Send unknown when is_payout_enabled is false.
exact, increase, decrease, flat_increase, flat_decrease, unknown The flat amount used by exact, flat_increase and flat_decrease.
The payout model the adjusted payout is written as. Rules support these six models; the SKU variants available on an offer (cpa_sku, cps_sku, …) are not supported here.
Required with payout_action: exact (blank is rejected there with Must define a payout type if payout action is 'exact'), and must be cpa for one_time rules. The flat actions apply payout_value directly and ignore it — send blank.
cpa, cpc, cpm, cps, cpa_cps, prv, blank The percentage used by the increase and decrease actions.
Whether the rule adjusts advertiser revenue.
How revenue is adjusted, mirroring payout_action. Send unknown when is_revenue_enabled is false.
exact, increase, decrease, flat_increase, flat_decrease, unknown The flat amount used by exact, flat_increase and flat_decrease.
The revenue model the adjusted revenue is written as. Rules support these five models. Required with revenue_action: exact (blank is rejected there with Must define a revenue type if revenue action is 'exact'); the flat actions ignore it.
rpa, rpc, rpm, rps, rpa_rps, blank The percentage used by the increase and decrease actions.
Unix timestamp of creation.
1788398644
Unix timestamp of last update.
1788398704
Related objects for the rule.
Was this page helpful?
