Get liability report
curl --request POST \
--url https://api.prod.commenda.io/api/v1/filings/liability-report \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"filing_ids": [
"f1e2d3c4-b5a6-7890-abcd-ef1234567890",
"a2b3c4d5-e6f7-8901-bcde-f23456789012"
]
}
'import requests
url = "https://api.prod.commenda.io/api/v1/filings/liability-report"
payload = { "filing_ids": ["f1e2d3c4-b5a6-7890-abcd-ef1234567890", "a2b3c4d5-e6f7-8901-bcde-f23456789012"] }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
filing_ids: ['f1e2d3c4-b5a6-7890-abcd-ef1234567890', 'a2b3c4d5-e6f7-8901-bcde-f23456789012']
})
};
fetch('https://api.prod.commenda.io/api/v1/filings/liability-report', 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.prod.commenda.io/api/v1/filings/liability-report",
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([
'filing_ids' => [
'f1e2d3c4-b5a6-7890-abcd-ef1234567890',
'a2b3c4d5-e6f7-8901-bcde-f23456789012'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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.prod.commenda.io/api/v1/filings/liability-report"
payload := strings.NewReader("{\n \"filing_ids\": [\n \"f1e2d3c4-b5a6-7890-abcd-ef1234567890\",\n \"a2b3c4d5-e6f7-8901-bcde-f23456789012\"\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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.prod.commenda.io/api/v1/filings/liability-report")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"filing_ids\": [\n \"f1e2d3c4-b5a6-7890-abcd-ef1234567890\",\n \"a2b3c4d5-e6f7-8901-bcde-f23456789012\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.prod.commenda.io/api/v1/filings/liability-report")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"filing_ids\": [\n \"f1e2d3c4-b5a6-7890-abcd-ef1234567890\",\n \"a2b3c4d5-e6f7-8901-bcde-f23456789012\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"data": {
"filings": [
{
"filing_id": "f1e2d3c4-b5a6-7890-abcd-ef1234567890",
"form_title": "Sales and Use Tax Return",
"jurisdiction": "California",
"tax_period_start_date": "2025-01-01",
"tax_period_end_date": "2025-03-31",
"due_date": "2025-04-30",
"filing_status": "UPCOMING",
"breakdown": {
"transactions_count": 142,
"estimated_taxable_amount": 12500,
"estimated_non_taxable_amount": 1500.5,
"estimated_exempt_amount": 250,
"estimated_tax_collected": 1031.25
}
}
]
},
"message": "Successfully built liability report."
}{
"error": {
"type": "CLIENT_INVALID_REQUEST_BODY",
"doc_url": "https://sales-tax-docs.commenda.io/",
"title": "Failed to validate the request body",
"detail": "<string>",
"status": 400,
"instance": "<string>",
"Errors": [
{
"details": "<string>",
"pointer": "<string>"
}
]
}
}{
"error": {
"type": "CLIENT_INVALID_REQUEST_BODY",
"doc_url": "https://sales-tax-docs.commenda.io/",
"title": "Failed to validate the request body",
"detail": "<string>",
"status": 400,
"instance": "<string>",
"Errors": [
{
"details": "<string>",
"pointer": "<string>"
}
]
}
}Filings
Get liability report
Returns per-filing liability snapshots for a list of filing IDs (max 100). Each entry’s breakdown object is populated for US and Canadian filings, where liability values live on the filing row itself, and null for VAT filings (UK and EU country VAT, Union OSS, Non-Union OSS, IOSS) — fetch the box-level VAT detail for those via POST /filings/contributions.
POST
/
filings
/
liability-report
Get liability report
curl --request POST \
--url https://api.prod.commenda.io/api/v1/filings/liability-report \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"filing_ids": [
"f1e2d3c4-b5a6-7890-abcd-ef1234567890",
"a2b3c4d5-e6f7-8901-bcde-f23456789012"
]
}
'import requests
url = "https://api.prod.commenda.io/api/v1/filings/liability-report"
payload = { "filing_ids": ["f1e2d3c4-b5a6-7890-abcd-ef1234567890", "a2b3c4d5-e6f7-8901-bcde-f23456789012"] }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
filing_ids: ['f1e2d3c4-b5a6-7890-abcd-ef1234567890', 'a2b3c4d5-e6f7-8901-bcde-f23456789012']
})
};
fetch('https://api.prod.commenda.io/api/v1/filings/liability-report', 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.prod.commenda.io/api/v1/filings/liability-report",
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([
'filing_ids' => [
'f1e2d3c4-b5a6-7890-abcd-ef1234567890',
'a2b3c4d5-e6f7-8901-bcde-f23456789012'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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.prod.commenda.io/api/v1/filings/liability-report"
payload := strings.NewReader("{\n \"filing_ids\": [\n \"f1e2d3c4-b5a6-7890-abcd-ef1234567890\",\n \"a2b3c4d5-e6f7-8901-bcde-f23456789012\"\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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.prod.commenda.io/api/v1/filings/liability-report")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"filing_ids\": [\n \"f1e2d3c4-b5a6-7890-abcd-ef1234567890\",\n \"a2b3c4d5-e6f7-8901-bcde-f23456789012\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.prod.commenda.io/api/v1/filings/liability-report")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"filing_ids\": [\n \"f1e2d3c4-b5a6-7890-abcd-ef1234567890\",\n \"a2b3c4d5-e6f7-8901-bcde-f23456789012\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"data": {
"filings": [
{
"filing_id": "f1e2d3c4-b5a6-7890-abcd-ef1234567890",
"form_title": "Sales and Use Tax Return",
"jurisdiction": "California",
"tax_period_start_date": "2025-01-01",
"tax_period_end_date": "2025-03-31",
"due_date": "2025-04-30",
"filing_status": "UPCOMING",
"breakdown": {
"transactions_count": 142,
"estimated_taxable_amount": 12500,
"estimated_non_taxable_amount": 1500.5,
"estimated_exempt_amount": 250,
"estimated_tax_collected": 1031.25
}
}
]
},
"message": "Successfully built liability report."
}{
"error": {
"type": "CLIENT_INVALID_REQUEST_BODY",
"doc_url": "https://sales-tax-docs.commenda.io/",
"title": "Failed to validate the request body",
"detail": "<string>",
"status": 400,
"instance": "<string>",
"Errors": [
{
"details": "<string>",
"pointer": "<string>"
}
]
}
}{
"error": {
"type": "CLIENT_INVALID_REQUEST_BODY",
"doc_url": "https://sales-tax-docs.commenda.io/",
"title": "Failed to validate the request body",
"detail": "<string>",
"status": 400,
"instance": "<string>",
"Errors": [
{
"details": "<string>",
"pointer": "<string>"
}
]
}
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
application/json
List of filing UUIDs to include in the report. Maximum 100 entries.
Required array length:
1 - 100 elementsExample:
[
"f1e2d3c4-b5a6-7890-abcd-ef1234567890",
"a2b3c4d5-e6f7-8901-bcde-f23456789012"
]
Was this page helpful?
⌘I