Members
Get most viewed resources
Returns the company’s most-viewed resources of one type, ranked by total visits, with a total_views count on each entry. Pass shareable_type (products, media, pages, libraries, enrollment_packs, or promotions); without it the list is empty. Narrow the window with period (7d, 30d, 90d, 1y, or all, the default) and cap results with limit (default 10). The ranking covers the whole company and is not filtered to the rep in the path. Callable by reps and by company admin-tier tokens with members view permission.
GET
/
api
/
v2025-06
/
reps
/
{rep_id}
/
most_viewed
Get most viewed resources
curl --request GET \
--url https://api.fluid.app/api/v2025-06/reps/{rep_id}/most_viewed \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.fluid.app/api/v2025-06/reps/{rep_id}/most_viewed"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.fluid.app/api/v2025-06/reps/{rep_id}/most_viewed', 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.fluid.app/api/v2025-06/reps/{rep_id}/most_viewed",
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 := "https://api.fluid.app/api/v2025-06/reps/{rep_id}/most_viewed"
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("https://api.fluid.app/api/v2025-06/reps/{rep_id}/most_viewed")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fluid.app/api/v2025-06/reps/{rep_id}/most_viewed")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"resources": [
{
"id": 3187,
"title": "Dunder Mifflin 20lb Copy Paper",
"image_url": "https://cdn.fluid.app/dunder-mifflin/products/20lb-copy-paper.jpg",
"status": "active",
"updated_at": "2026-09-03T12:00:41Z",
"price": "54.99",
"display_price": "$54.99",
"skus": [
"DM-20LB-CASE"
],
"is_bundle": false,
"inventory_quantity": 480,
"total_views": 1318
},
{
"id": 3205,
"title": "Schrute Farms Beet Box",
"image_url": "https://cdn.fluid.app/dunder-mifflin/products/schrute-farms-beet-box.jpg",
"status": "active",
"updated_at": "2026-09-03T12:00:41Z",
"price": "29.99",
"display_price": "$29.99",
"skus": [
"SF-BEET-BOX"
],
"is_bundle": false,
"inventory_quantity": 96,
"total_views": 604
}
],
"meta": {
"request_id": "e6c3f0a8-9d2b-4715-b3e9-1a7d5c8f2b40",
"timestamp": "2026-09-15T14:42:31Z"
}
}{
"message": "<string>",
"error_message": "<string>",
"errors": "<string>",
"meta": {
"request_id": "<string>",
"timestamp": "2023-11-07T05:31:56Z",
"pagination": {
"cursor": "<string>",
"limit": 123,
"prev_cursor": "<string>",
"next_cursor": "<string>",
"total_count": 123
}
}
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Query Parameters
The resource type to rank. Required to get results.
Available options:
products, media, pages, libraries, enrollment_packs, promotions Time window for visits.
Available options:
7d, 30d, 90d, 1y, all Maximum number of resources to return. Defaults to 10.
⌘I
Get most viewed resources
curl --request GET \
--url https://api.fluid.app/api/v2025-06/reps/{rep_id}/most_viewed \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.fluid.app/api/v2025-06/reps/{rep_id}/most_viewed"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.fluid.app/api/v2025-06/reps/{rep_id}/most_viewed', 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.fluid.app/api/v2025-06/reps/{rep_id}/most_viewed",
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 := "https://api.fluid.app/api/v2025-06/reps/{rep_id}/most_viewed"
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("https://api.fluid.app/api/v2025-06/reps/{rep_id}/most_viewed")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fluid.app/api/v2025-06/reps/{rep_id}/most_viewed")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"resources": [
{
"id": 3187,
"title": "Dunder Mifflin 20lb Copy Paper",
"image_url": "https://cdn.fluid.app/dunder-mifflin/products/20lb-copy-paper.jpg",
"status": "active",
"updated_at": "2026-09-03T12:00:41Z",
"price": "54.99",
"display_price": "$54.99",
"skus": [
"DM-20LB-CASE"
],
"is_bundle": false,
"inventory_quantity": 480,
"total_views": 1318
},
{
"id": 3205,
"title": "Schrute Farms Beet Box",
"image_url": "https://cdn.fluid.app/dunder-mifflin/products/schrute-farms-beet-box.jpg",
"status": "active",
"updated_at": "2026-09-03T12:00:41Z",
"price": "29.99",
"display_price": "$29.99",
"skus": [
"SF-BEET-BOX"
],
"is_bundle": false,
"inventory_quantity": 96,
"total_views": 604
}
],
"meta": {
"request_id": "e6c3f0a8-9d2b-4715-b3e9-1a7d5c8f2b40",
"timestamp": "2026-09-15T14:42:31Z"
}
}{
"message": "<string>",
"error_message": "<string>",
"errors": "<string>",
"meta": {
"request_id": "<string>",
"timestamp": "2023-11-07T05:31:56Z",
"pagination": {
"cursor": "<string>",
"limit": 123,
"prev_cursor": "<string>",
"next_cursor": "<string>",
"total_count": 123
}
}
}