Count the company's orders
Exact number of the authenticated company’s orders matching the
same filter[...] parameters as GET /api/v202604/orders, under
the same credential-derived visibility.
Use it when a list response carries no
meta.pagination.total_count. The list omits the total when the
database answered, so its first page never waits on a count.
The count is cached for 60 seconds per company, caller visibility and
filter set;
calculated_at says when it was computed. A count that does not
finish within the server’s time limit returns 200 with
total_count: null, and that answer is cached for the same 60
seconds.
search, sort and page are not accepted and return 422.
curl --request GET \
--url https://api.fluid.app/api/v202604/orders/count \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.fluid.app/api/v202604/orders/count"
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/v202604/orders/count', 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/v202604/orders/count",
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/v202604/orders/count"
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/v202604/orders/count")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fluid.app/api/v202604/orders/count")
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{
"total_count": 137,
"calculated_at": "2026-10-05T10:15:00Z",
"status": 200,
"meta": {
"request_uuid": "3f9c2a7e-5b1d-4e8a-9c6f-2d7b8e4a1c05",
"timestamp": "2026-10-05T10:15:02Z"
}
}{
"message": "Invalid credentials."
}{
"message": "Not authorized."
}{
"error": {
"message": "<string>",
"details": {}
},
"status": 123,
"meta": {
"request_id": "<string>",
"timestamp": "2023-11-07T05:31:56Z"
}
}Authorizations
Bearer token authentication. Accepts company tokens, partner tokens,
public tokens, droplet installation tokens, and user_company tokens.
The authenticated credential determines editor_type and editor_id
on the resulting order-edit audit records — the payload never carries
either field.
Query Parameters
Restrict to one order status. The sentinel all imposes no
constraint and is equivalent to omitting the filter.
all, draft, pending, pending_review, processing, completed, cancelled, archived Restrict to one order class.
sample_order, customer_order, member_order, enrollment_order, autoship_order Exact match on the human-facing order number.
Restrict to orders whose originating cart carried this source value.
Restrict to orders placed from the cart with this exact token. A token that matches no cart of the company returns no orders.
Restrict to one customer's orders, matched on either the owning member or a legacy customer id carried on order metadata.
Restrict to orders a given rep holds volume credit on, addressed by legacy UserCompany id.
Restrict to orders belonging to one subscription.
Comma-separated ISO-2 country codes; matches the order's own country, not the shipping address.
Inclusive lower bound on the effective sale date, as a calendar
date resolved through filter[timezone].
Inclusive upper bound on the effective sale date, as a calendar
date resolved through filter[timezone].
IANA timezone used to resolve filter[start_date] and
filter[end_date] to day boundaries, so a day means the caller's
day. Defaults to UTC; Etc/Unknown is treated as absent. An
unrecognised zone returns 422.
Response
The count, or null when it did not finish in time.
The number of orders matching the request's filters.
Exact number of matching orders, or null when the count did not finish within the server's time limit.
x >= 0When this count was computed. A cached count keeps its original time.
HTTP status code, repeated in the body (200 on success).
Response metadata — request correlation fields.
Show child attributes
Show child attributes
curl --request GET \
--url https://api.fluid.app/api/v202604/orders/count \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.fluid.app/api/v202604/orders/count"
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/v202604/orders/count', 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/v202604/orders/count",
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/v202604/orders/count"
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/v202604/orders/count")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fluid.app/api/v202604/orders/count")
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{
"total_count": 137,
"calculated_at": "2026-10-05T10:15:00Z",
"status": 200,
"meta": {
"request_uuid": "3f9c2a7e-5b1d-4e8a-9c6f-2d7b8e4a1c05",
"timestamp": "2026-10-05T10:15:02Z"
}
}{
"message": "Invalid credentials."
}{
"message": "Not authorized."
}{
"error": {
"message": "<string>",
"details": {}
},
"status": 123,
"meta": {
"request_id": "<string>",
"timestamp": "2023-11-07T05:31:56Z"
}
}