Count and total the member's orders over a period
Count and total the authenticated member’s own orders in their company over a trailing period, for a dashboard card that would otherwise page the whole order list to sum it. placed is the member’s own purchases and credited the orders whose volume is credited to them, found as GET /api/member/v2026-10/orders finds them; an order that is both counts once, under placed. Each group counts its orders by status; its order_count and order_total leave cancelled orders out. Drafts are never counted. Totals are in the platform base currency, as the member’s statistics report them. Orders are dated by their sale date, or their creation when they have none. No parameter selects another owner. A site’s script acting for a share holder reads own purchases only, and credited is null. Responses are private and reauthorized before 304.
curl --request GET \
--url https://api.fluid.app/api/member/v2026-10/orders/summary \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.fluid.app/api/member/v2026-10/orders/summary"
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/member/v2026-10/orders/summary', 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/member/v2026-10/orders/summary",
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/member/v2026-10/orders/summary"
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/member/v2026-10/orders/summary")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fluid.app/api/member/v2026-10/orders/summary")
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{
"status": 200,
"data": {
"period": "30d",
"since": "2026-10-13T00:00:00.000Z",
"placed": {
"order_count": 2,
"order_total": "125.00",
"by_status": [
{
"status": "pending",
"count": 0
},
{
"status": "pending_review",
"count": 0
},
{
"status": "processing",
"count": 1
},
{
"status": "completed",
"count": 1
},
{
"status": "cancelled",
"count": 0
},
{
"status": "archived",
"count": 0
}
]
},
"credited": {
"order_count": 6,
"order_total": "412.80",
"by_status": [
{
"status": "pending",
"count": 0
},
{
"status": "pending_review",
"count": 0
},
{
"status": "processing",
"count": 0
},
{
"status": "completed",
"count": 6
},
{
"status": "cancelled",
"count": 1
},
{
"status": "archived",
"count": 0
}
]
}
},
"meta": {
"request_uuid": "019a23a4-9211-71bf-8fa5-a5f31a82a0df",
"timestamp": "2026-11-11T12:00:00Z"
}
}{
"status": 123,
"error": {
"message": "<string>",
"details": {}
},
"meta": {
"request_uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"timestamp": "2023-11-07T05:31:56Z",
"subscription_schedule": {
"next_bill_date": "2023-12-25",
"latest_skip_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"pending_skip_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"pending_skip_date": "2023-12-25",
"can_skip": true,
"applied": true
},
"code": "next_bill_date_blackout",
"blocked_date": "2026-11-30",
"blocked_day": 30,
"allowed_date": "2026-11-28",
"scheduled_date": "2026-12-10",
"last_bill_date": "2026-11-10",
"requested_date": "2026-11-30"
}
}{
"status": 123,
"error": {
"message": "<string>",
"details": {}
},
"meta": {
"request_uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"timestamp": "2023-11-07T05:31:56Z",
"subscription_schedule": {
"next_bill_date": "2023-12-25",
"latest_skip_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"pending_skip_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"pending_skip_date": "2023-12-25",
"can_skip": true,
"applied": true
},
"code": "next_bill_date_blackout",
"blocked_date": "2026-11-30",
"blocked_day": 30,
"allowed_date": "2026-11-28",
"scheduled_date": "2026-12-10",
"last_bill_date": "2026-11-10",
"requested_date": "2026-11-30"
}
}{
"status": 123,
"error": {
"message": "<string>",
"details": {}
},
"meta": {
"request_uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"timestamp": "2023-11-07T05:31:56Z",
"subscription_schedule": {
"next_bill_date": "2023-12-25",
"latest_skip_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"pending_skip_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"pending_skip_date": "2023-12-25",
"can_skip": true,
"applied": true
},
"code": "next_bill_date_blackout",
"blocked_date": "2026-11-30",
"blocked_day": 30,
"allowed_date": "2026-11-28",
"scheduled_date": "2026-12-10",
"last_bill_date": "2026-11-10",
"requested_date": "2026-11-30"
}
}Authorizations
Query Parameters
curl --request GET \
--url https://api.fluid.app/api/member/v2026-10/orders/summary \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.fluid.app/api/member/v2026-10/orders/summary"
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/member/v2026-10/orders/summary', 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/member/v2026-10/orders/summary",
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/member/v2026-10/orders/summary"
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/member/v2026-10/orders/summary")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fluid.app/api/member/v2026-10/orders/summary")
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{
"status": 200,
"data": {
"period": "30d",
"since": "2026-10-13T00:00:00.000Z",
"placed": {
"order_count": 2,
"order_total": "125.00",
"by_status": [
{
"status": "pending",
"count": 0
},
{
"status": "pending_review",
"count": 0
},
{
"status": "processing",
"count": 1
},
{
"status": "completed",
"count": 1
},
{
"status": "cancelled",
"count": 0
},
{
"status": "archived",
"count": 0
}
]
},
"credited": {
"order_count": 6,
"order_total": "412.80",
"by_status": [
{
"status": "pending",
"count": 0
},
{
"status": "pending_review",
"count": 0
},
{
"status": "processing",
"count": 0
},
{
"status": "completed",
"count": 6
},
{
"status": "cancelled",
"count": 1
},
{
"status": "archived",
"count": 0
}
]
}
},
"meta": {
"request_uuid": "019a23a4-9211-71bf-8fa5-a5f31a82a0df",
"timestamp": "2026-11-11T12:00:00Z"
}
}{
"status": 123,
"error": {
"message": "<string>",
"details": {}
},
"meta": {
"request_uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"timestamp": "2023-11-07T05:31:56Z",
"subscription_schedule": {
"next_bill_date": "2023-12-25",
"latest_skip_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"pending_skip_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"pending_skip_date": "2023-12-25",
"can_skip": true,
"applied": true
},
"code": "next_bill_date_blackout",
"blocked_date": "2026-11-30",
"blocked_day": 30,
"allowed_date": "2026-11-28",
"scheduled_date": "2026-12-10",
"last_bill_date": "2026-11-10",
"requested_date": "2026-11-30"
}
}{
"status": 123,
"error": {
"message": "<string>",
"details": {}
},
"meta": {
"request_uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"timestamp": "2023-11-07T05:31:56Z",
"subscription_schedule": {
"next_bill_date": "2023-12-25",
"latest_skip_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"pending_skip_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"pending_skip_date": "2023-12-25",
"can_skip": true,
"applied": true
},
"code": "next_bill_date_blackout",
"blocked_date": "2026-11-30",
"blocked_day": 30,
"allowed_date": "2026-11-28",
"scheduled_date": "2026-12-10",
"last_bill_date": "2026-11-10",
"requested_date": "2026-11-30"
}
}{
"status": 123,
"error": {
"message": "<string>",
"details": {}
},
"meta": {
"request_uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"timestamp": "2023-11-07T05:31:56Z",
"subscription_schedule": {
"next_bill_date": "2023-12-25",
"latest_skip_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"pending_skip_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"pending_skip_date": "2023-12-25",
"can_skip": true,
"applied": true
},
"code": "next_bill_date_blackout",
"blocked_date": "2026-11-30",
"blocked_day": 30,
"allowed_date": "2026-11-28",
"scheduled_date": "2026-12-10",
"last_bill_date": "2026-11-10",
"requested_date": "2026-11-30"
}
}