curl --request POST \
--url https://api.pgw-sandbox.finventi.com/account-service/v2/accounts/{id}/status \
--header 'Content-Type: application/json' \
--data '
{
"status": "CLOSED"
}
'import requests
url = "https://api.pgw-sandbox.finventi.com/account-service/v2/accounts/{id}/status"
payload = { "status": "CLOSED" }
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({status: 'CLOSED'})
};
fetch('https://api.pgw-sandbox.finventi.com/account-service/v2/accounts/{id}/status', 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.pgw-sandbox.finventi.com/account-service/v2/accounts/{id}/status",
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([
'status' => 'CLOSED'
]),
CURLOPT_HTTPHEADER => [
"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.pgw-sandbox.finventi.com/account-service/v2/accounts/{id}/status"
payload := strings.NewReader("{\n \"status\": \"CLOSED\"\n}")
req, _ := http.NewRequest("POST", url, payload)
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.pgw-sandbox.finventi.com/account-service/v2/accounts/{id}/status")
.header("Content-Type", "application/json")
.body("{\n \"status\": \"CLOSED\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.pgw-sandbox.finventi.com/account-service/v2/accounts/{id}/status")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"status\": \"CLOSED\"\n}"
response = http.request(request)
puts response.read_body{
"id": 1,
"clientAccountId": "acc_001",
"iban": "LT121000011111111111",
"accountType": "PRIVATE",
"accountHolderName": "Jane Doe",
"status": "OPEN",
"createdAt": "2025-09-10T13:43:40.758Z",
"updatedAt": "2025-09-10T13:55:40.758Z",
"ibanMetadata": {
"countryCode": "LT",
"bankCode": "70440",
"accountCode": "1869"
},
"accountHolderNameAliases": [
"HGRP"
],
"organisationIdentification": {
"lei": "3423455234Y45D34",
"bic": "DEUTDEFFXXX",
"other": {
"identification": "123-AS-323",
"schemeNameCode": "BANK",
"schemeNameProprietary": "LocalRegistry",
"issuer": "ChamberOfCommerce"
}
}
}{
"code": "<string>",
"message": "<string>",
"data": {
"errors": [
{
"field_name": "<string>",
"value": "<string>",
"code": "<string>",
"message": "<string>"
}
],
"message": "<string>"
}
}{
"code": "<string>",
"message": "<string>",
"data": {
"errors": [
{
"field_name": "<string>",
"value": "<string>",
"code": "<string>",
"message": "<string>"
}
],
"message": "<string>"
}
}{
"code": "<string>",
"message": "<string>",
"data": {
"errors": [
{
"field_name": "<string>",
"value": "<string>",
"code": "<string>",
"message": "<string>"
}
],
"message": "<string>"
}
}Change account status
Changes account status between OPEN and CLOSED.
curl --request POST \
--url https://api.pgw-sandbox.finventi.com/account-service/v2/accounts/{id}/status \
--header 'Content-Type: application/json' \
--data '
{
"status": "CLOSED"
}
'import requests
url = "https://api.pgw-sandbox.finventi.com/account-service/v2/accounts/{id}/status"
payload = { "status": "CLOSED" }
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({status: 'CLOSED'})
};
fetch('https://api.pgw-sandbox.finventi.com/account-service/v2/accounts/{id}/status', 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.pgw-sandbox.finventi.com/account-service/v2/accounts/{id}/status",
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([
'status' => 'CLOSED'
]),
CURLOPT_HTTPHEADER => [
"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.pgw-sandbox.finventi.com/account-service/v2/accounts/{id}/status"
payload := strings.NewReader("{\n \"status\": \"CLOSED\"\n}")
req, _ := http.NewRequest("POST", url, payload)
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.pgw-sandbox.finventi.com/account-service/v2/accounts/{id}/status")
.header("Content-Type", "application/json")
.body("{\n \"status\": \"CLOSED\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.pgw-sandbox.finventi.com/account-service/v2/accounts/{id}/status")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"status\": \"CLOSED\"\n}"
response = http.request(request)
puts response.read_body{
"id": 1,
"clientAccountId": "acc_001",
"iban": "LT121000011111111111",
"accountType": "PRIVATE",
"accountHolderName": "Jane Doe",
"status": "OPEN",
"createdAt": "2025-09-10T13:43:40.758Z",
"updatedAt": "2025-09-10T13:55:40.758Z",
"ibanMetadata": {
"countryCode": "LT",
"bankCode": "70440",
"accountCode": "1869"
},
"accountHolderNameAliases": [
"HGRP"
],
"organisationIdentification": {
"lei": "3423455234Y45D34",
"bic": "DEUTDEFFXXX",
"other": {
"identification": "123-AS-323",
"schemeNameCode": "BANK",
"schemeNameProprietary": "LocalRegistry",
"issuer": "ChamberOfCommerce"
}
}
}{
"code": "<string>",
"message": "<string>",
"data": {
"errors": [
{
"field_name": "<string>",
"value": "<string>",
"code": "<string>",
"message": "<string>"
}
],
"message": "<string>"
}
}{
"code": "<string>",
"message": "<string>",
"data": {
"errors": [
{
"field_name": "<string>",
"value": "<string>",
"code": "<string>",
"message": "<string>"
}
],
"message": "<string>"
}
}{
"code": "<string>",
"message": "<string>",
"data": {
"errors": [
{
"field_name": "<string>",
"value": "<string>",
"code": "<string>",
"message": "<string>"
}
],
"message": "<string>"
}
}Overview
Toggle status of an existing account betweenOPEN and CLOSED.
What CLOSED means in practice: the status is a registry state of the account record. Note that no account status stops senders in SEPA - any bank can still initiate a payment to any IBAN, and such payments will arrive. The standard handling for funds arriving to a closed account is to return them to the sender with reason code AC04 (closed account) via the return endpoints.
What the platform does with a CLOSED account:
- Payment processing is not affected: inbound payments to the IBAN are still received and processed, and outbound payments from it are still accepted. Blocking or returning such payments is your decision and your action.
- The IBAN is removed from your Verification of Payee directory automatically, so VoP checks against it no longer return a match. If you maintain the VoP directory separately (accounts not registered through the account service), remove or update the entry yourself.
Path Parameters
ID
Body
Request to change account status
New account status (OPEN or CLOSED)
OPEN, CLOSED "CLOSED"
Response
Account status changed successfully
Account information response
Internal account identifier
1
Client's internal account ID
"acc_001"
International Bank Account Number
"LT121000011111111111"
Type of account
PRIVATE, LEGAL "PRIVATE"
Name of the account holder
"Jane Doe"
Account status
OPEN, CLOSED "OPEN"
Account creation timestamp
"2025-09-10T13:43:40.758Z"
Last update timestamp
"2025-09-10T13:55:40.758Z"
International Bank Account Generation Metadata
Show child attributes
Show child attributes
Optional alternative names or identifiers to improve matching (e.g., acronyms, short forms like "IBM" for "International Business Machines")
["HGRP"]
Organisation identification details (for LEGAL accounts)
Show child attributes
Show child attributes