Charges API
Get Charges Table Summary
Returns aggregate summary values for the charges table using the requested filters and aggregations, without returning full row detail. Downstream finance systems can use this endpoint to validate export scope, reconcile totals, and compare Cedar results against imported batches in NetSuite, Sage, or another ERP.
Common reconciliation patterns:
| Aggregate request | Typical downstream use |
|---|---|
COUNT on chargeId | Confirm the number of charges in an export batch. |
SUM on amount | Compare Cedar totals with external invoice or journal totals. |
SUM on adjustment_total | Measure the net effect of adjustments before posting. |
MIN / MAX on appliedAt | Verify the date window covered by an incremental export. |
Use the same filter set you would pass to List Charges Table Rows when you want summary numbers for the exact same population of charges.
POST
/
t
/
v1
/
charges-table-summary
Get Charges Table Summary
curl --request POST \
--url https://api-lg-k-h1.arms.cedarai.com/t/v1/charges-table-summary \
--header 'Carrier: <carrier>' \
--header 'Content-Type: application/json' \
--header 'x-arms-api-key: <api-key>' \
--header 'x-arms-assume-user: <api-key>' \
--data '
{
"aggregates": [
{
"columnKey": "<string>",
"op": "AO_UNSPECIFIED"
}
],
"filters": [
{
"columnKey": "<string>",
"op": "RO_DEFAULT",
"searchTerm": "<string>"
}
]
}
'import requests
url = "https://api-lg-k-h1.arms.cedarai.com/t/v1/charges-table-summary"
payload = {
"aggregates": [
{
"columnKey": "<string>",
"op": "AO_UNSPECIFIED"
}
],
"filters": [
{
"columnKey": "<string>",
"op": "RO_DEFAULT",
"searchTerm": "<string>"
}
]
}
headers = {
"Carrier": "<carrier>",
"x-arms-api-key": "<api-key>",
"x-arms-assume-user": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
Carrier: '<carrier>',
'x-arms-api-key': '<api-key>',
'x-arms-assume-user': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
aggregates: [{columnKey: '<string>', op: 'AO_UNSPECIFIED'}],
filters: [{columnKey: '<string>', op: 'RO_DEFAULT', searchTerm: '<string>'}]
})
};
fetch('https://api-lg-k-h1.arms.cedarai.com/t/v1/charges-table-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-lg-k-h1.arms.cedarai.com/t/v1/charges-table-summary",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'aggregates' => [
[
'columnKey' => '<string>',
'op' => 'AO_UNSPECIFIED'
]
],
'filters' => [
[
'columnKey' => '<string>',
'op' => 'RO_DEFAULT',
'searchTerm' => '<string>'
]
]
]),
CURLOPT_HTTPHEADER => [
"Carrier: <carrier>",
"Content-Type: application/json",
"x-arms-api-key: <api-key>",
"x-arms-assume-user: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api-lg-k-h1.arms.cedarai.com/t/v1/charges-table-summary"
payload := strings.NewReader("{\n \"aggregates\": [\n {\n \"columnKey\": \"<string>\",\n \"op\": \"AO_UNSPECIFIED\"\n }\n ],\n \"filters\": [\n {\n \"columnKey\": \"<string>\",\n \"op\": \"RO_DEFAULT\",\n \"searchTerm\": \"<string>\"\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Carrier", "<carrier>")
req.Header.Add("x-arms-api-key", "<api-key>")
req.Header.Add("x-arms-assume-user", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api-lg-k-h1.arms.cedarai.com/t/v1/charges-table-summary")
.header("Carrier", "<carrier>")
.header("x-arms-api-key", "<api-key>")
.header("x-arms-assume-user", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"aggregates\": [\n {\n \"columnKey\": \"<string>\",\n \"op\": \"AO_UNSPECIFIED\"\n }\n ],\n \"filters\": [\n {\n \"columnKey\": \"<string>\",\n \"op\": \"RO_DEFAULT\",\n \"searchTerm\": \"<string>\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-lg-k-h1.arms.cedarai.com/t/v1/charges-table-summary")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Carrier"] = '<carrier>'
request["x-arms-api-key"] = '<api-key>'
request["x-arms-assume-user"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"aggregates\": [\n {\n \"columnKey\": \"<string>\",\n \"op\": \"AO_UNSPECIFIED\"\n }\n ],\n \"filters\": [\n {\n \"columnKey\": \"<string>\",\n \"op\": \"RO_DEFAULT\",\n \"searchTerm\": \"<string>\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"aggregates": [
{
"columnKey": "<string>",
"intVal": "<string>",
"op": "AO_UNSPECIFIED",
"realVal": 123,
"stringVal": "<string>"
}
]
}{
"code": 123,
"details": [
{
"@type": "<string>"
}
],
"message": "<string>"
}Related topics
Get Charges Table DefinitionList Charges Table RowsBatch get note summariesGet note summary for one entityGet Shipper QuoteWas this page helpful?
⌘I
Get Charges Table Summary
curl --request POST \
--url https://api-lg-k-h1.arms.cedarai.com/t/v1/charges-table-summary \
--header 'Carrier: <carrier>' \
--header 'Content-Type: application/json' \
--header 'x-arms-api-key: <api-key>' \
--header 'x-arms-assume-user: <api-key>' \
--data '
{
"aggregates": [
{
"columnKey": "<string>",
"op": "AO_UNSPECIFIED"
}
],
"filters": [
{
"columnKey": "<string>",
"op": "RO_DEFAULT",
"searchTerm": "<string>"
}
]
}
'import requests
url = "https://api-lg-k-h1.arms.cedarai.com/t/v1/charges-table-summary"
payload = {
"aggregates": [
{
"columnKey": "<string>",
"op": "AO_UNSPECIFIED"
}
],
"filters": [
{
"columnKey": "<string>",
"op": "RO_DEFAULT",
"searchTerm": "<string>"
}
]
}
headers = {
"Carrier": "<carrier>",
"x-arms-api-key": "<api-key>",
"x-arms-assume-user": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
Carrier: '<carrier>',
'x-arms-api-key': '<api-key>',
'x-arms-assume-user': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
aggregates: [{columnKey: '<string>', op: 'AO_UNSPECIFIED'}],
filters: [{columnKey: '<string>', op: 'RO_DEFAULT', searchTerm: '<string>'}]
})
};
fetch('https://api-lg-k-h1.arms.cedarai.com/t/v1/charges-table-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-lg-k-h1.arms.cedarai.com/t/v1/charges-table-summary",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'aggregates' => [
[
'columnKey' => '<string>',
'op' => 'AO_UNSPECIFIED'
]
],
'filters' => [
[
'columnKey' => '<string>',
'op' => 'RO_DEFAULT',
'searchTerm' => '<string>'
]
]
]),
CURLOPT_HTTPHEADER => [
"Carrier: <carrier>",
"Content-Type: application/json",
"x-arms-api-key: <api-key>",
"x-arms-assume-user: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api-lg-k-h1.arms.cedarai.com/t/v1/charges-table-summary"
payload := strings.NewReader("{\n \"aggregates\": [\n {\n \"columnKey\": \"<string>\",\n \"op\": \"AO_UNSPECIFIED\"\n }\n ],\n \"filters\": [\n {\n \"columnKey\": \"<string>\",\n \"op\": \"RO_DEFAULT\",\n \"searchTerm\": \"<string>\"\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Carrier", "<carrier>")
req.Header.Add("x-arms-api-key", "<api-key>")
req.Header.Add("x-arms-assume-user", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api-lg-k-h1.arms.cedarai.com/t/v1/charges-table-summary")
.header("Carrier", "<carrier>")
.header("x-arms-api-key", "<api-key>")
.header("x-arms-assume-user", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"aggregates\": [\n {\n \"columnKey\": \"<string>\",\n \"op\": \"AO_UNSPECIFIED\"\n }\n ],\n \"filters\": [\n {\n \"columnKey\": \"<string>\",\n \"op\": \"RO_DEFAULT\",\n \"searchTerm\": \"<string>\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-lg-k-h1.arms.cedarai.com/t/v1/charges-table-summary")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Carrier"] = '<carrier>'
request["x-arms-api-key"] = '<api-key>'
request["x-arms-assume-user"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"aggregates\": [\n {\n \"columnKey\": \"<string>\",\n \"op\": \"AO_UNSPECIFIED\"\n }\n ],\n \"filters\": [\n {\n \"columnKey\": \"<string>\",\n \"op\": \"RO_DEFAULT\",\n \"searchTerm\": \"<string>\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"aggregates": [
{
"columnKey": "<string>",
"intVal": "<string>",
"op": "AO_UNSPECIFIED",
"realVal": 123,
"stringVal": "<string>"
}
]
}{
"code": 123,
"details": [
{
"@type": "<string>"
}
],
"message": "<string>"
}