Customer activity trend
curl --request GET \
--url http://localhost:4000/api/v1/v1/customers/trend \
--header 'Authorization: Bearer <token>'import requests
url = "http://localhost:4000/api/v1/v1/customers/trend"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('http://localhost:4000/api/v1/v1/customers/trend', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_PORT => "4000",
CURLOPT_URL => "http://localhost:4000/api/v1/v1/customers/trend",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$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 := "http://localhost:4000/api/v1/v1/customers/trend"
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(string(body))
}HttpResponse<String> response = Unirest.get("http://localhost:4000/api/v1/v1/customers/trend")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("http://localhost:4000/api/v1/v1/customers/trend")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body[
{
"month": "<string>",
"value": 1,
"customers": 4503599627370495,
"churned": 4503599627370495
}
]{
"type": "<string>",
"title": "<string>",
"status": 0,
"detail": "<string>",
"code": "validation_failed",
"errors": {},
"traceId": "<string>"
}{
"type": "<string>",
"title": "<string>",
"status": 0,
"detail": "<string>",
"code": "validation_failed",
"errors": {},
"traceId": "<string>"
}Customers
Customer activity trend
Customers bucketed by the month of their last activity, trailing the requested number of months (default 6, max 24). Each point carries the lifetime value those customers represent, the customer count and the churned count, ascending by month.
GET
/
v1
/
customers
/
trend
Customer activity trend
curl --request GET \
--url http://localhost:4000/api/v1/v1/customers/trend \
--header 'Authorization: Bearer <token>'import requests
url = "http://localhost:4000/api/v1/v1/customers/trend"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('http://localhost:4000/api/v1/v1/customers/trend', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_PORT => "4000",
CURLOPT_URL => "http://localhost:4000/api/v1/v1/customers/trend",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$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 := "http://localhost:4000/api/v1/v1/customers/trend"
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(string(body))
}HttpResponse<String> response = Unirest.get("http://localhost:4000/api/v1/v1/customers/trend")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("http://localhost:4000/api/v1/v1/customers/trend")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body[
{
"month": "<string>",
"value": 1,
"customers": 4503599627370495,
"churned": 4503599627370495
}
]{
"type": "<string>",
"title": "<string>",
"status": 0,
"detail": "<string>",
"code": "validation_failed",
"errors": {},
"traceId": "<string>"
}{
"type": "<string>",
"title": "<string>",
"status": 0,
"detail": "<string>",
"code": "validation_failed",
"errors": {},
"traceId": "<string>"
}Authorizations
Access token issued by auth.signIn. Expires; refresh it with auth.refresh.
Query Parameters
Required range:
3 <= x <= 24Last modified on October 6, 2026