cURL
curl -X GET "https://production.runalloy.com/analytics/detail-usage-user?userId={{userId}}" \
-H "Authorization: bearer YOUR_API_KEY" \
-H "x-api-version: 2025-09"import requests
url = "https://production.runalloy.com/analytics/detail-usage-user"
params = {"userId": "{{userId}}"}
headers = {
"Authorization": "bearer YOUR_API_KEY",
"x-api-version": "2025-09"
}
response = requests.get(url, params=params, headers=headers)
print(response.json())const userId = "{{userId}}";
const url = `https://production.runalloy.com/analytics/detail-usage-user?userId=${userId}`;
fetch(url, {
method: "GET",
headers: {
"Authorization": "bearer YOUR_API_KEY",
"x-api-version": "2025-09"
}
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error("Error:", error));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://production.runalloy.com/analytics/detail-usage-user",
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: <authorization>",
"x-api-version: <x-api-version>"
],
]);
$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://production.runalloy.com/analytics/detail-usage-user"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<authorization>")
req.Header.Add("x-api-version", "<x-api-version>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://production.runalloy.com/analytics/detail-usage-user")
.header("Authorization", "<authorization>")
.header("x-api-version", "<x-api-version>")
.asString();require 'uri'
require 'net/http'
url = URI("https://production.runalloy.com/analytics/detail-usage-user")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<authorization>'
request["x-api-version"] = '<x-api-version>'
response = http.request(request)
puts response.read_body{
"data": {
"userName": "demo@runalloy.com",
"userId": "659d28e18c35f07db18fcd8c",
"userCreatedDate": "2024-01-09T11:07:13.963Z",
"isDeleted": false,
"startDate": "2023-12-27",
"endDate": "2024-12-27",
"totalActions": 0,
"data": [
{
"month": "Mar-24",
"userName": "demo@runalloy.com",
"isDeleted": false,
"date": "2024-03-10",
"userId": "659d28e18c35f07db18fcd8c",
"userCreatedDate": "2024-01-09",
"apiActions": 0,
"count": 7,
"appActions": 7
},
{
"month": "Jun-24",
"userName": "demo@runalloy.com",
"isDeleted": false,
"date": "2024-06-30",
"userId": "659d28e18c35f07db18fcd8c",
"userCreatedDate": "2024-01-09",
"apiActions": 0,
"count": 2,
"appActions": 2
},
{
"month": "Aug-24",
"userName": "demo@runalloy.com",
"isDeleted": false,
"date": "2024-08-05",
"userId": "659d28e18c35f07db18fcd8c",
"userCreatedDate": "2024-01-09",
"apiActions": 0,
"count": 22,
"appActions": 22
},
{
"month": "Sep-24",
"userName": "demo@runalloy.com",
"isDeleted": false,
"date": "2024-09-29",
"userId": "659d28e18c35f07db18fcd8c",
"userCreatedDate": "2024-01-09",
"apiActions": 0,
"count": 2,
"appActions": 2
}
],
"timePeriod": "current-billing-cycle"
}
}App Actions Usage
Get Analytics Detailed Usage By User
Retrieves usage data for a specific user.
GET
/
analytics
/
detail-usage-user
cURL
curl -X GET "https://production.runalloy.com/analytics/detail-usage-user?userId={{userId}}" \
-H "Authorization: bearer YOUR_API_KEY" \
-H "x-api-version: 2025-09"import requests
url = "https://production.runalloy.com/analytics/detail-usage-user"
params = {"userId": "{{userId}}"}
headers = {
"Authorization": "bearer YOUR_API_KEY",
"x-api-version": "2025-09"
}
response = requests.get(url, params=params, headers=headers)
print(response.json())const userId = "{{userId}}";
const url = `https://production.runalloy.com/analytics/detail-usage-user?userId=${userId}`;
fetch(url, {
method: "GET",
headers: {
"Authorization": "bearer YOUR_API_KEY",
"x-api-version": "2025-09"
}
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error("Error:", error));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://production.runalloy.com/analytics/detail-usage-user",
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: <authorization>",
"x-api-version: <x-api-version>"
],
]);
$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://production.runalloy.com/analytics/detail-usage-user"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<authorization>")
req.Header.Add("x-api-version", "<x-api-version>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://production.runalloy.com/analytics/detail-usage-user")
.header("Authorization", "<authorization>")
.header("x-api-version", "<x-api-version>")
.asString();require 'uri'
require 'net/http'
url = URI("https://production.runalloy.com/analytics/detail-usage-user")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<authorization>'
request["x-api-version"] = '<x-api-version>'
response = http.request(request)
puts response.read_body{
"data": {
"userName": "demo@runalloy.com",
"userId": "659d28e18c35f07db18fcd8c",
"userCreatedDate": "2024-01-09T11:07:13.963Z",
"isDeleted": false,
"startDate": "2023-12-27",
"endDate": "2024-12-27",
"totalActions": 0,
"data": [
{
"month": "Mar-24",
"userName": "demo@runalloy.com",
"isDeleted": false,
"date": "2024-03-10",
"userId": "659d28e18c35f07db18fcd8c",
"userCreatedDate": "2024-01-09",
"apiActions": 0,
"count": 7,
"appActions": 7
},
{
"month": "Jun-24",
"userName": "demo@runalloy.com",
"isDeleted": false,
"date": "2024-06-30",
"userId": "659d28e18c35f07db18fcd8c",
"userCreatedDate": "2024-01-09",
"apiActions": 0,
"count": 2,
"appActions": 2
},
{
"month": "Aug-24",
"userName": "demo@runalloy.com",
"isDeleted": false,
"date": "2024-08-05",
"userId": "659d28e18c35f07db18fcd8c",
"userCreatedDate": "2024-01-09",
"apiActions": 0,
"count": 22,
"appActions": 22
},
{
"month": "Sep-24",
"userName": "demo@runalloy.com",
"isDeleted": false,
"date": "2024-09-29",
"userId": "659d28e18c35f07db18fcd8c",
"userCreatedDate": "2024-01-09",
"apiActions": 0,
"count": 2,
"appActions": 2
}
],
"timePeriod": "current-billing-cycle"
}
}Headers
The version of the API to use. The current API version is 2025-09.
Query Parameters
The ID of the user.
Example:
"y66wqtzdeu94q5xawwjxc"
The time period for usage data.
Available options:
7-days, 30-days, 3-months, current-billing-cycle Example:
"7-days"
Response
200 - application/json
Success (Example)
⌘I

