Get submission report
curl --request GET \
--url https://api.rrc.dev.finventi.com/reports/fatca/v1/submissions/{submissionId}/report \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.rrc.dev.finventi.com/reports/fatca/v1/submissions/{submissionId}/report"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.rrc.dev.finventi.com/reports/fatca/v1/submissions/{submissionId}/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.rrc.dev.finventi.com/reports/fatca/v1/submissions/{submissionId}/report",
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.rrc.dev.finventi.com/reports/fatca/v1/submissions/{submissionId}/report"
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.rrc.dev.finventi.com/reports/fatca/v1/submissions/{submissionId}/report")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.rrc.dev.finventi.com/reports/fatca/v1/submissions/{submissionId}/report")
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{
"submissionId": "3f2a9c1e-7b4d-4e8a-9f61-2c5d8e0b1a47",
"reportingYear": 2025,
"kind": "SUBMISSION",
"status": "REPORTED",
"accounts": {
"total": 2,
"reported": 2,
"pending": 0
},
"messages": {
"total": 1,
"reported": 1,
"pending": 0
}
}Submissions
Get submission report
Reported-versus-pending counts of accounts and messages.
GET
/
reports
/
fatca
/
v1
/
submissions
/
{submissionId}
/
report
Get submission report
curl --request GET \
--url https://api.rrc.dev.finventi.com/reports/fatca/v1/submissions/{submissionId}/report \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.rrc.dev.finventi.com/reports/fatca/v1/submissions/{submissionId}/report"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.rrc.dev.finventi.com/reports/fatca/v1/submissions/{submissionId}/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.rrc.dev.finventi.com/reports/fatca/v1/submissions/{submissionId}/report",
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.rrc.dev.finventi.com/reports/fatca/v1/submissions/{submissionId}/report"
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.rrc.dev.finventi.com/reports/fatca/v1/submissions/{submissionId}/report")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.rrc.dev.finventi.com/reports/fatca/v1/submissions/{submissionId}/report")
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{
"submissionId": "3f2a9c1e-7b4d-4e8a-9f61-2c5d8e0b1a47",
"reportingYear": 2025,
"kind": "SUBMISSION",
"status": "REPORTED",
"accounts": {
"total": 2,
"reported": 2,
"pending": 0
},
"messages": {
"total": 1,
"reported": 1,
"pending": 0
}
}accounts counts the accounts you pushed, each of which is one account report. messages counts the messages sent to the tax authority: total generated, accepted, and still awaiting a response. The accounts with outstanding errors are listed by List account errors.Authorizations
The access token received from the authorization server in the OAuth 2.0 flow.
Path Parameters
Response
200 - application/json
OK
Detailed reporting status: overall status, reported and pending account counts, and the number of messages sent to the tax authority. Accounts with outstanding errors are listed, page by page, by the account errors endpoint.
SUBMISSION reports accounts for a year not yet reported; CORRECTION amends what was already reported for it.
Available options:
SUBMISSION, CORRECTION High-level lifecycle status of a submission
Available options:
DRAFT, PROCESSING, ACTION_REQUIRED, REPORTED, FAILED Accounts you pushed, each of which is one account report
Show child attributes
Show child attributes
Messages sent to the tax authority: total generated, accepted, and still awaiting a response
Show child attributes
Show child attributes
Last modified on September 25, 2026