curl --request PUT \
--url https://api.rrc.dev.finventi.com/reports/fatca/v1/submissions/{submissionId}/accounts/{accountNumber} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"accountNumber": "LT601010012345678901",
"accountNumberType": "IBAN",
"balance": 13000,
"currency": "USD",
"closed": false,
"accountHolder": {
"individual": {
"residenceCountryCodes": [
"US"
],
"tins": [
{
"number": "123456789",
"issuedBy": "US"
}
],
"names": [
{
"firstName": "John",
"lastName": "Smith"
}
],
"addresses": [
{
"addressFix": {
"street": "100 Main Street",
"postCode": "10001",
"city": "New York"
},
"countryCode": "US",
"type": "RESIDENTAL_OR_HABITATION"
}
]
}
},
"payments": [
{
"type": "INTEREST",
"amount": 120,
"currency": "USD"
}
]
}
'import requests
url = "https://api.rrc.dev.finventi.com/reports/fatca/v1/submissions/{submissionId}/accounts/{accountNumber}"
payload = {
"accountNumber": "LT601010012345678901",
"accountNumberType": "IBAN",
"balance": 13000,
"currency": "USD",
"closed": False,
"accountHolder": { "individual": {
"residenceCountryCodes": ["US"],
"tins": [
{
"number": "123456789",
"issuedBy": "US"
}
],
"names": [
{
"firstName": "John",
"lastName": "Smith"
}
],
"addresses": [
{
"addressFix": {
"street": "100 Main Street",
"postCode": "10001",
"city": "New York"
},
"countryCode": "US",
"type": "RESIDENTAL_OR_HABITATION"
}
]
} },
"payments": [
{
"type": "INTEREST",
"amount": 120,
"currency": "USD"
}
]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
accountNumber: 'LT601010012345678901',
accountNumberType: 'IBAN',
balance: 13000,
currency: 'USD',
closed: false,
accountHolder: {
individual: {
residenceCountryCodes: ['US'],
tins: [{number: '123456789', issuedBy: 'US'}],
names: [{firstName: 'John', lastName: 'Smith'}],
addresses: [
{
addressFix: {street: '100 Main Street', postCode: '10001', city: 'New York'},
countryCode: 'US',
type: 'RESIDENTAL_OR_HABITATION'
}
]
}
},
payments: [{type: 'INTEREST', amount: 120, currency: 'USD'}]
})
};
fetch('https://api.rrc.dev.finventi.com/reports/fatca/v1/submissions/{submissionId}/accounts/{accountNumber}', 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}/accounts/{accountNumber}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'accountNumber' => 'LT601010012345678901',
'accountNumberType' => 'IBAN',
'balance' => 13000,
'currency' => 'USD',
'closed' => false,
'accountHolder' => [
'individual' => [
'residenceCountryCodes' => [
'US'
],
'tins' => [
[
'number' => '123456789',
'issuedBy' => 'US'
]
],
'names' => [
[
'firstName' => 'John',
'lastName' => 'Smith'
]
],
'addresses' => [
[
'addressFix' => [
'street' => '100 Main Street',
'postCode' => '10001',
'city' => 'New York'
],
'countryCode' => 'US',
'type' => 'RESIDENTAL_OR_HABITATION'
]
]
]
],
'payments' => [
[
'type' => 'INTEREST',
'amount' => 120,
'currency' => 'USD'
]
]
]),
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.rrc.dev.finventi.com/reports/fatca/v1/submissions/{submissionId}/accounts/{accountNumber}"
payload := strings.NewReader("{\n \"accountNumber\": \"LT601010012345678901\",\n \"accountNumberType\": \"IBAN\",\n \"balance\": 13000,\n \"currency\": \"USD\",\n \"closed\": false,\n \"accountHolder\": {\n \"individual\": {\n \"residenceCountryCodes\": [\n \"US\"\n ],\n \"tins\": [\n {\n \"number\": \"123456789\",\n \"issuedBy\": \"US\"\n }\n ],\n \"names\": [\n {\n \"firstName\": \"John\",\n \"lastName\": \"Smith\"\n }\n ],\n \"addresses\": [\n {\n \"addressFix\": {\n \"street\": \"100 Main Street\",\n \"postCode\": \"10001\",\n \"city\": \"New York\"\n },\n \"countryCode\": \"US\",\n \"type\": \"RESIDENTAL_OR_HABITATION\"\n }\n ]\n }\n },\n \"payments\": [\n {\n \"type\": \"INTEREST\",\n \"amount\": 120,\n \"currency\": \"USD\"\n }\n ]\n}")
req, _ := http.NewRequest("PUT", 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.put("https://api.rrc.dev.finventi.com/reports/fatca/v1/submissions/{submissionId}/accounts/{accountNumber}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"accountNumber\": \"LT601010012345678901\",\n \"accountNumberType\": \"IBAN\",\n \"balance\": 13000,\n \"currency\": \"USD\",\n \"closed\": false,\n \"accountHolder\": {\n \"individual\": {\n \"residenceCountryCodes\": [\n \"US\"\n ],\n \"tins\": [\n {\n \"number\": \"123456789\",\n \"issuedBy\": \"US\"\n }\n ],\n \"names\": [\n {\n \"firstName\": \"John\",\n \"lastName\": \"Smith\"\n }\n ],\n \"addresses\": [\n {\n \"addressFix\": {\n \"street\": \"100 Main Street\",\n \"postCode\": \"10001\",\n \"city\": \"New York\"\n },\n \"countryCode\": \"US\",\n \"type\": \"RESIDENTAL_OR_HABITATION\"\n }\n ]\n }\n },\n \"payments\": [\n {\n \"type\": \"INTEREST\",\n \"amount\": 120,\n \"currency\": \"USD\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.rrc.dev.finventi.com/reports/fatca/v1/submissions/{submissionId}/accounts/{accountNumber}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"accountNumber\": \"LT601010012345678901\",\n \"accountNumberType\": \"IBAN\",\n \"balance\": 13000,\n \"currency\": \"USD\",\n \"closed\": false,\n \"accountHolder\": {\n \"individual\": {\n \"residenceCountryCodes\": [\n \"US\"\n ],\n \"tins\": [\n {\n \"number\": \"123456789\",\n \"issuedBy\": \"US\"\n }\n ],\n \"names\": [\n {\n \"firstName\": \"John\",\n \"lastName\": \"Smith\"\n }\n ],\n \"addresses\": [\n {\n \"addressFix\": {\n \"street\": \"100 Main Street\",\n \"postCode\": \"10001\",\n \"city\": \"New York\"\n },\n \"countryCode\": \"US\",\n \"type\": \"RESIDENTAL_OR_HABITATION\"\n }\n ]\n }\n },\n \"payments\": [\n {\n \"type\": \"INTEREST\",\n \"amount\": 120,\n \"currency\": \"USD\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"status": "SUCCESS",
"accountNumber": "LT601010012345678901",
"errors": []
}{
"status": "FAILED",
"accountNumber": "LT601010012345678901",
"errors": [
{
"fields": [
"accountNumber"
],
"message": "Account 'LT601010012345678901' is not in this submission; add it with POST"
}
]
}Update an account
Amend an account by its account number.
curl --request PUT \
--url https://api.rrc.dev.finventi.com/reports/fatca/v1/submissions/{submissionId}/accounts/{accountNumber} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"accountNumber": "LT601010012345678901",
"accountNumberType": "IBAN",
"balance": 13000,
"currency": "USD",
"closed": false,
"accountHolder": {
"individual": {
"residenceCountryCodes": [
"US"
],
"tins": [
{
"number": "123456789",
"issuedBy": "US"
}
],
"names": [
{
"firstName": "John",
"lastName": "Smith"
}
],
"addresses": [
{
"addressFix": {
"street": "100 Main Street",
"postCode": "10001",
"city": "New York"
},
"countryCode": "US",
"type": "RESIDENTAL_OR_HABITATION"
}
]
}
},
"payments": [
{
"type": "INTEREST",
"amount": 120,
"currency": "USD"
}
]
}
'import requests
url = "https://api.rrc.dev.finventi.com/reports/fatca/v1/submissions/{submissionId}/accounts/{accountNumber}"
payload = {
"accountNumber": "LT601010012345678901",
"accountNumberType": "IBAN",
"balance": 13000,
"currency": "USD",
"closed": False,
"accountHolder": { "individual": {
"residenceCountryCodes": ["US"],
"tins": [
{
"number": "123456789",
"issuedBy": "US"
}
],
"names": [
{
"firstName": "John",
"lastName": "Smith"
}
],
"addresses": [
{
"addressFix": {
"street": "100 Main Street",
"postCode": "10001",
"city": "New York"
},
"countryCode": "US",
"type": "RESIDENTAL_OR_HABITATION"
}
]
} },
"payments": [
{
"type": "INTEREST",
"amount": 120,
"currency": "USD"
}
]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
accountNumber: 'LT601010012345678901',
accountNumberType: 'IBAN',
balance: 13000,
currency: 'USD',
closed: false,
accountHolder: {
individual: {
residenceCountryCodes: ['US'],
tins: [{number: '123456789', issuedBy: 'US'}],
names: [{firstName: 'John', lastName: 'Smith'}],
addresses: [
{
addressFix: {street: '100 Main Street', postCode: '10001', city: 'New York'},
countryCode: 'US',
type: 'RESIDENTAL_OR_HABITATION'
}
]
}
},
payments: [{type: 'INTEREST', amount: 120, currency: 'USD'}]
})
};
fetch('https://api.rrc.dev.finventi.com/reports/fatca/v1/submissions/{submissionId}/accounts/{accountNumber}', 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}/accounts/{accountNumber}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'accountNumber' => 'LT601010012345678901',
'accountNumberType' => 'IBAN',
'balance' => 13000,
'currency' => 'USD',
'closed' => false,
'accountHolder' => [
'individual' => [
'residenceCountryCodes' => [
'US'
],
'tins' => [
[
'number' => '123456789',
'issuedBy' => 'US'
]
],
'names' => [
[
'firstName' => 'John',
'lastName' => 'Smith'
]
],
'addresses' => [
[
'addressFix' => [
'street' => '100 Main Street',
'postCode' => '10001',
'city' => 'New York'
],
'countryCode' => 'US',
'type' => 'RESIDENTAL_OR_HABITATION'
]
]
]
],
'payments' => [
[
'type' => 'INTEREST',
'amount' => 120,
'currency' => 'USD'
]
]
]),
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.rrc.dev.finventi.com/reports/fatca/v1/submissions/{submissionId}/accounts/{accountNumber}"
payload := strings.NewReader("{\n \"accountNumber\": \"LT601010012345678901\",\n \"accountNumberType\": \"IBAN\",\n \"balance\": 13000,\n \"currency\": \"USD\",\n \"closed\": false,\n \"accountHolder\": {\n \"individual\": {\n \"residenceCountryCodes\": [\n \"US\"\n ],\n \"tins\": [\n {\n \"number\": \"123456789\",\n \"issuedBy\": \"US\"\n }\n ],\n \"names\": [\n {\n \"firstName\": \"John\",\n \"lastName\": \"Smith\"\n }\n ],\n \"addresses\": [\n {\n \"addressFix\": {\n \"street\": \"100 Main Street\",\n \"postCode\": \"10001\",\n \"city\": \"New York\"\n },\n \"countryCode\": \"US\",\n \"type\": \"RESIDENTAL_OR_HABITATION\"\n }\n ]\n }\n },\n \"payments\": [\n {\n \"type\": \"INTEREST\",\n \"amount\": 120,\n \"currency\": \"USD\"\n }\n ]\n}")
req, _ := http.NewRequest("PUT", 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.put("https://api.rrc.dev.finventi.com/reports/fatca/v1/submissions/{submissionId}/accounts/{accountNumber}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"accountNumber\": \"LT601010012345678901\",\n \"accountNumberType\": \"IBAN\",\n \"balance\": 13000,\n \"currency\": \"USD\",\n \"closed\": false,\n \"accountHolder\": {\n \"individual\": {\n \"residenceCountryCodes\": [\n \"US\"\n ],\n \"tins\": [\n {\n \"number\": \"123456789\",\n \"issuedBy\": \"US\"\n }\n ],\n \"names\": [\n {\n \"firstName\": \"John\",\n \"lastName\": \"Smith\"\n }\n ],\n \"addresses\": [\n {\n \"addressFix\": {\n \"street\": \"100 Main Street\",\n \"postCode\": \"10001\",\n \"city\": \"New York\"\n },\n \"countryCode\": \"US\",\n \"type\": \"RESIDENTAL_OR_HABITATION\"\n }\n ]\n }\n },\n \"payments\": [\n {\n \"type\": \"INTEREST\",\n \"amount\": 120,\n \"currency\": \"USD\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.rrc.dev.finventi.com/reports/fatca/v1/submissions/{submissionId}/accounts/{accountNumber}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"accountNumber\": \"LT601010012345678901\",\n \"accountNumberType\": \"IBAN\",\n \"balance\": 13000,\n \"currency\": \"USD\",\n \"closed\": false,\n \"accountHolder\": {\n \"individual\": {\n \"residenceCountryCodes\": [\n \"US\"\n ],\n \"tins\": [\n {\n \"number\": \"123456789\",\n \"issuedBy\": \"US\"\n }\n ],\n \"names\": [\n {\n \"firstName\": \"John\",\n \"lastName\": \"Smith\"\n }\n ],\n \"addresses\": [\n {\n \"addressFix\": {\n \"street\": \"100 Main Street\",\n \"postCode\": \"10001\",\n \"city\": \"New York\"\n },\n \"countryCode\": \"US\",\n \"type\": \"RESIDENTAL_OR_HABITATION\"\n }\n ]\n }\n },\n \"payments\": [\n {\n \"type\": \"INTEREST\",\n \"amount\": 120,\n \"currency\": \"USD\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"status": "SUCCESS",
"accountNumber": "LT601010012345678901",
"errors": []
}{
"status": "FAILED",
"accountNumber": "LT601010012345678901",
"errors": [
{
"fields": [
"accountNumber"
],
"message": "Account 'LT601010012345678901' is not in this submission; add it with POST"
}
]
}Authorizations
The access token received from the authorization server in the OAuth 2.0 flow.
Body
A US reportable account. Push the account as it stands, with its holder and any substantial owners attached to it. Each account you push becomes exactly one account report.
Account number, or its functional equivalent where the account has no number. Identifies the account within the submission, so it must be unique across the accounts you push.
200"LT601010012345678901"
Type of the account number. IBAN values are checked against the IBAN structure.
IBAN, OBAN, ISIN, OSIN, OTHER, ELECTRONIC_MONEY_PRODUCT "IBAN"
Balance at the end of the reporting year. For a closed account, the balance on the day it was closed.
12345.67
Currency the balance is denominated in, ISO 4217. Report one currency per account.
1"USD"
The holder of the account.
Show child attributes
Show child attributes
The account was closed during the reporting year.
US owners of an entity holder. Required for types OWNER_DOCUMENTED_FFI_WITH_SPECIFIED_US_OWNERS and PASSIVE_NFFE_WITH_SUBSTANTIAL_US_OWNERS, not accepted otherwise.
Show child attributes
Show child attributes
Payments made to the account during the year. Send at most one entry per payment type, carrying the gross total for the whole year.
Show child attributes
Show child attributes
Response
Account updated
Result of pushing, updating or deleting a single account