curl --request GET \
--url https://api.prod.commenda.io/api/v1/filings \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.prod.commenda.io/api/v1/filings"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.prod.commenda.io/api/v1/filings', 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",
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.prod.commenda.io/api/v1/filings"
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.prod.commenda.io/api/v1/filings")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.prod.commenda.io/api/v1/filings")
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{
"data": {
"filings": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"corporation_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"form_title": "<string>",
"description": "<string>",
"jurisdiction_id": "STATE_CEN_06",
"jurisdiction_name": "California",
"jurisdiction_type": "STATE_OR_PROVINCE",
"registration_tax_type_id": "REG_STATE_CEN_06_RST",
"filing_frequency": "MONTHLY",
"tax_period_start_date": "2026-07-01",
"tax_period_end_date": "2026-09-30",
"reporting_period_start_date": "2023-12-25",
"reporting_period_end_date": "2023-12-25",
"filing_due_date": "2026-10-31",
"status": "SCHEDULED",
"filed_at": "2026-10-20",
"reporting_currency": "USD",
"estimated_taxable_amount": 12500,
"estimated_non_taxable_amount": 1500.5,
"estimated_exempt_amount": 250,
"estimated_tax_collected": 1031.25,
"taxable_amount": 12480,
"non_taxable_amount": 1500.5,
"exempt_amount": 250,
"tax_liability": 1029.6,
"tax_paid": 1029.6,
"penalty": 123,
"interest": 123,
"filing_confirmation_number": "0012-3456-7890",
"payment_confirmation_number": "PMT-998877",
"created_at": 1751328000000000,
"contributions": [
{
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"filing_id": "f1e2d3c4-b5a6-7890-abcd-ef1234567890",
"filing_contribution_id": "REG_COUNTRY_DE_3018_VAT_01_01",
"filing_through_jurisdiction": "COUNTRY_DE_3018",
"value": 12345,
"value_type": "INTEGER",
"box_id": "DE_81",
"box_name": "Steuerpflichtige Umsätze",
"box_order": 1,
"box_type": "OUTPUT",
"created_at": 1713168000000000,
"updated_at": 1713168000000000
}
]
}
],
"total_filings": 123,
"cursor": "<string>"
},
"message": "Successfully fetched filings."
}{
"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>"
}
]
}
}List filings
List a corporation’s filings, newest first, with optional filters. Always pass v2=true. Use filing_statuses and the due-date filters to split upcoming returns from completed ones, for example filing_statuses=FILED for completed returns and filing_statuses=SCHEDULED,ACCRUING,ACTIVE,OVERDUE for open ones.
curl --request GET \
--url https://api.prod.commenda.io/api/v1/filings \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.prod.commenda.io/api/v1/filings"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.prod.commenda.io/api/v1/filings', 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",
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.prod.commenda.io/api/v1/filings"
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.prod.commenda.io/api/v1/filings")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.prod.commenda.io/api/v1/filings")
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{
"data": {
"filings": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"corporation_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"form_title": "<string>",
"description": "<string>",
"jurisdiction_id": "STATE_CEN_06",
"jurisdiction_name": "California",
"jurisdiction_type": "STATE_OR_PROVINCE",
"registration_tax_type_id": "REG_STATE_CEN_06_RST",
"filing_frequency": "MONTHLY",
"tax_period_start_date": "2026-07-01",
"tax_period_end_date": "2026-09-30",
"reporting_period_start_date": "2023-12-25",
"reporting_period_end_date": "2023-12-25",
"filing_due_date": "2026-10-31",
"status": "SCHEDULED",
"filed_at": "2026-10-20",
"reporting_currency": "USD",
"estimated_taxable_amount": 12500,
"estimated_non_taxable_amount": 1500.5,
"estimated_exempt_amount": 250,
"estimated_tax_collected": 1031.25,
"taxable_amount": 12480,
"non_taxable_amount": 1500.5,
"exempt_amount": 250,
"tax_liability": 1029.6,
"tax_paid": 1029.6,
"penalty": 123,
"interest": 123,
"filing_confirmation_number": "0012-3456-7890",
"payment_confirmation_number": "PMT-998877",
"created_at": 1751328000000000,
"contributions": [
{
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"filing_id": "f1e2d3c4-b5a6-7890-abcd-ef1234567890",
"filing_contribution_id": "REG_COUNTRY_DE_3018_VAT_01_01",
"filing_through_jurisdiction": "COUNTRY_DE_3018",
"value": 12345,
"value_type": "INTEGER",
"box_id": "DE_81",
"box_name": "Steuerpflichtige Umsätze",
"box_order": 1,
"box_type": "OUTPUT",
"created_at": 1713168000000000,
"updated_at": 1713168000000000
}
]
}
],
"total_filings": 123,
"cursor": "<string>"
},
"message": "Successfully fetched filings."
}{
"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.
Query Parameters
The unique identifier of the corporation whose filings to list.
Set to true. Required for the response and filters documented on this page.
true The cursor from the previous page. Omit it for the first page. When a response has no cursor, you have reached the last page.
Number of filings per page.
1 <= x <= 100Comma-separated list of statuses to return. Allowed values: SCHEDULED, ACCRUING, ACTIVE, FILED, OVERDUE. An unknown value returns a 400.
"ACTIVE,OVERDUE"
Returns only filings whose filing_due_date is on or after this date (YYYY-MM-DD).
Returns only filings whose filing_due_date is on or before this date (YYYY-MM-DD).
Comma-separated list of Commenda jurisdiction identifiers. Maximum 100 values.
"STATE_CEN_06,COUNTRY_DE_3018"
Comma-separated list of filing frequencies (see filing_frequency). Maximum 100 values. An unknown value returns a 400.
"MONTHLY,QUARTERLY"
Returns only filings for this registration tax type.
"REG_STATE_CEN_06_RST"
Set to filing_contribution to include the EU/UK VAT box values on each filing as a contributions array. Any other value returns a 400.
filing_contribution Was this page helpful?