curl --request PATCH \
--url https://api-sandbox.rinne.com.br/core/v1/companies/me/bank-accounts/{id} \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"nickname": "Main operations account",
"branch_number": "0001",
"account_number": "12345678",
"account_type": "CHECKING",
"account_holder_name": "John Doe Silva",
"ispb": "12345678",
"primary": false
}
'import requests
url = "https://api-sandbox.rinne.com.br/core/v1/companies/me/bank-accounts/{id}"
payload = {
"nickname": "Main operations account",
"branch_number": "0001",
"account_number": "12345678",
"account_type": "CHECKING",
"account_holder_name": "John Doe Silva",
"ispb": "12345678",
"primary": False
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
nickname: 'Main operations account',
branch_number: '0001',
account_number: '12345678',
account_type: 'CHECKING',
account_holder_name: 'John Doe Silva',
ispb: '12345678',
primary: false
})
};
fetch('https://api-sandbox.rinne.com.br/core/v1/companies/me/bank-accounts/{id}', 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-sandbox.rinne.com.br/core/v1/companies/me/bank-accounts/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'nickname' => 'Main operations account',
'branch_number' => '0001',
'account_number' => '12345678',
'account_type' => 'CHECKING',
'account_holder_name' => 'John Doe Silva',
'ispb' => '12345678',
'primary' => false
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <api-key>"
],
]);
$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-sandbox.rinne.com.br/core/v1/companies/me/bank-accounts/{id}"
payload := strings.NewReader("{\n \"nickname\": \"Main operations account\",\n \"branch_number\": \"0001\",\n \"account_number\": \"12345678\",\n \"account_type\": \"CHECKING\",\n \"account_holder_name\": \"John Doe Silva\",\n \"ispb\": \"12345678\",\n \"primary\": false\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("x-api-key", "<api-key>")
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.patch("https://api-sandbox.rinne.com.br/core/v1/companies/me/bank-accounts/{id}")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"nickname\": \"Main operations account\",\n \"branch_number\": \"0001\",\n \"account_number\": \"12345678\",\n \"account_type\": \"CHECKING\",\n \"account_holder_name\": \"John Doe Silva\",\n \"ispb\": \"12345678\",\n \"primary\": false\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-sandbox.rinne.com.br/core/v1/companies/me/bank-accounts/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"nickname\": \"Main operations account\",\n \"branch_number\": \"0001\",\n \"account_number\": \"12345678\",\n \"account_type\": \"CHECKING\",\n \"account_holder_name\": \"John Doe Silva\",\n \"ispb\": \"12345678\",\n \"primary\": false\n}"
response = http.request(request)
puts response.read_body{
"id": "b941fcaf-d77e-448c-9bdd-e7effd269fb7",
"company_id": "a3dbd0c2-9f79-4f86-8caa-47779b3f2793",
"nickname": "Main operations account",
"account_holder_name": "John Doe Silva",
"account_holder_document_number": "12345678901",
"branch_number": "0001",
"account_number": "12345678",
"account_type": "CHECKING",
"ispb": "12345678",
"status": "ACTIVE",
"deleted_at": null,
"primary": false,
"created_at": "2025-01-01T10:00:00.000Z",
"updated_at": "2025-01-01T10:00:00.000Z"
}{
"error": {
"code": "VALIDATION_ERROR",
"message": "Validation error",
"status": 400,
"details": {
"issues": [
{
"field": "email",
"type": "REQUIRED",
"message": "Field 'email' is required",
"value": "invalid_value",
"constraints": {
"min": 18,
"max": 120
}
}
]
},
"path": "/companies",
"timestamp": "2023-12-01T10:00:00.000Z",
"requestId": "req_123456789"
}
}{
"error": {
"code": "AUTHENTICATION_ERROR",
"message": "Authentication required to access this resource",
"status": 401,
"details": {
"reason": "Invalid API key"
},
"path": "/companies/me",
"timestamp": "2023-12-01T10:00:00.000Z",
"requestId": "req_123456789"
}
}{
"error": {
"code": "RESOURCE_NOT_FOUND",
"message": "Company with ID '123' not found",
"status": 404,
"path": "/companies/me",
"timestamp": "2023-12-01T10:00:00.000Z",
"requestId": "req_123456789"
}
}{
"error": {
"code": "CONFLICT_ERROR",
"message": "A Resource with this origin_bank_account_id + request_id already exists",
"status": 409,
"details": {
"field": "origin_bank_account_id + request_id",
"value": "12345678"
},
"path": "/companies/bank-accounts",
"timestamp": "2023-12-01T10:00:00.000Z",
"requestId": "req_123456789"
}
}{
"error": {
"code": "INTERNAL_SERVER_ERROR",
"message": "An unexpected error occurred",
"status": 500,
"path": "/companies",
"timestamp": "2023-12-01T10:00:00.000Z",
"requestId": "req_123456789"
}
}Update bank account information
Requires the banking.edit permission.
Updates a specific bank account for the authenticated company
curl --request PATCH \
--url https://api-sandbox.rinne.com.br/core/v1/companies/me/bank-accounts/{id} \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"nickname": "Main operations account",
"branch_number": "0001",
"account_number": "12345678",
"account_type": "CHECKING",
"account_holder_name": "John Doe Silva",
"ispb": "12345678",
"primary": false
}
'import requests
url = "https://api-sandbox.rinne.com.br/core/v1/companies/me/bank-accounts/{id}"
payload = {
"nickname": "Main operations account",
"branch_number": "0001",
"account_number": "12345678",
"account_type": "CHECKING",
"account_holder_name": "John Doe Silva",
"ispb": "12345678",
"primary": False
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
nickname: 'Main operations account',
branch_number: '0001',
account_number: '12345678',
account_type: 'CHECKING',
account_holder_name: 'John Doe Silva',
ispb: '12345678',
primary: false
})
};
fetch('https://api-sandbox.rinne.com.br/core/v1/companies/me/bank-accounts/{id}', 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-sandbox.rinne.com.br/core/v1/companies/me/bank-accounts/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'nickname' => 'Main operations account',
'branch_number' => '0001',
'account_number' => '12345678',
'account_type' => 'CHECKING',
'account_holder_name' => 'John Doe Silva',
'ispb' => '12345678',
'primary' => false
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <api-key>"
],
]);
$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-sandbox.rinne.com.br/core/v1/companies/me/bank-accounts/{id}"
payload := strings.NewReader("{\n \"nickname\": \"Main operations account\",\n \"branch_number\": \"0001\",\n \"account_number\": \"12345678\",\n \"account_type\": \"CHECKING\",\n \"account_holder_name\": \"John Doe Silva\",\n \"ispb\": \"12345678\",\n \"primary\": false\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("x-api-key", "<api-key>")
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.patch("https://api-sandbox.rinne.com.br/core/v1/companies/me/bank-accounts/{id}")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"nickname\": \"Main operations account\",\n \"branch_number\": \"0001\",\n \"account_number\": \"12345678\",\n \"account_type\": \"CHECKING\",\n \"account_holder_name\": \"John Doe Silva\",\n \"ispb\": \"12345678\",\n \"primary\": false\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-sandbox.rinne.com.br/core/v1/companies/me/bank-accounts/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"nickname\": \"Main operations account\",\n \"branch_number\": \"0001\",\n \"account_number\": \"12345678\",\n \"account_type\": \"CHECKING\",\n \"account_holder_name\": \"John Doe Silva\",\n \"ispb\": \"12345678\",\n \"primary\": false\n}"
response = http.request(request)
puts response.read_body{
"id": "b941fcaf-d77e-448c-9bdd-e7effd269fb7",
"company_id": "a3dbd0c2-9f79-4f86-8caa-47779b3f2793",
"nickname": "Main operations account",
"account_holder_name": "John Doe Silva",
"account_holder_document_number": "12345678901",
"branch_number": "0001",
"account_number": "12345678",
"account_type": "CHECKING",
"ispb": "12345678",
"status": "ACTIVE",
"deleted_at": null,
"primary": false,
"created_at": "2025-01-01T10:00:00.000Z",
"updated_at": "2025-01-01T10:00:00.000Z"
}{
"error": {
"code": "VALIDATION_ERROR",
"message": "Validation error",
"status": 400,
"details": {
"issues": [
{
"field": "email",
"type": "REQUIRED",
"message": "Field 'email' is required",
"value": "invalid_value",
"constraints": {
"min": 18,
"max": 120
}
}
]
},
"path": "/companies",
"timestamp": "2023-12-01T10:00:00.000Z",
"requestId": "req_123456789"
}
}{
"error": {
"code": "AUTHENTICATION_ERROR",
"message": "Authentication required to access this resource",
"status": 401,
"details": {
"reason": "Invalid API key"
},
"path": "/companies/me",
"timestamp": "2023-12-01T10:00:00.000Z",
"requestId": "req_123456789"
}
}{
"error": {
"code": "RESOURCE_NOT_FOUND",
"message": "Company with ID '123' not found",
"status": 404,
"path": "/companies/me",
"timestamp": "2023-12-01T10:00:00.000Z",
"requestId": "req_123456789"
}
}{
"error": {
"code": "CONFLICT_ERROR",
"message": "A Resource with this origin_bank_account_id + request_id already exists",
"status": 409,
"details": {
"field": "origin_bank_account_id + request_id",
"value": "12345678"
},
"path": "/companies/bank-accounts",
"timestamp": "2023-12-01T10:00:00.000Z",
"requestId": "req_123456789"
}
}{
"error": {
"code": "INTERNAL_SERVER_ERROR",
"message": "An unexpected error occurred",
"status": 500,
"path": "/companies",
"timestamp": "2023-12-01T10:00:00.000Z",
"requestId": "req_123456789"
}
}Authorizations
Company API key for authentication
Path Parameters
The bank account ID
Body
Schema for updating a company bank account
User-defined label to distinguish accounts; pass null to clear it
1 - 100"Main operations account"
Branch number (digits only)
^\d+$"0001"
Account number (digits only)
^\d+$"12345678"
Account type
CHECKING, SAVINGS, SALARY, PAYMENT "CHECKING"
Account holder full name
"John Doe Silva"
ISPB (Brazilian Payment System Identifier)
"12345678"
Whether this is the primary bank account
false
Response
Bank account updated successfully
Company bank account response
Bank account ID
"b941fcaf-d77e-448c-9bdd-e7effd269fb7"
Company ID
"a3dbd0c2-9f79-4f86-8caa-47779b3f2793"
User-defined label to distinguish accounts (null when not set)
"Main operations account"
Account holder full name
"John Doe Silva"
Account holder document number
"12345678901"
Branch number (digits only)
^\d+$"0001"
Account number (digits only)
^\d+$"12345678"
Account type
CHECKING, SAVINGS, SALARY, PAYMENT "CHECKING"
ISPB (Brazilian Payment System Identifier)
"12345678"
Account status
ACTIVE, DELETED "ACTIVE"
Deletion timestamp (null if not deleted)
null
Whether this is the primary bank account
false
Creation timestamp
"2025-01-01T10:00:00.000Z"
Last update timestamp
"2025-01-01T10:00:00.000Z"

