Skip to main content

Vendor bank account

Registers, lists and updates the accounts that receive the payments of the vendor's expenses. A vendor can have several accounts, but always exactly one main account (main_account: true). The first account registered is the main one; to change the main account, promote another account.

Accounts are not subject to the analysis lock: they can be registered and updated with the vendor in any status and are not required to submit the analysis.

Register a bank account​

Available on
ProfileHostRequired permission
Managermanager-apiWrite
Consultantconsultant-apiActive integration

Base URL for each host: Environments (Hosts).

ENDPOINT
/vendor_registry/vendor/{vendor_key}/bank_account
METHOD
POST

Path parameters​

ParameterTypeDescription
vendor_keystringVendor key (UUID).
Request body — Pix by key
{
"transfer_type": "pix",
"pix_key": "44555666000181",
"main_account": true
}
Request body — TED
{
"transfer_type": "ted",
"financial_institution_code": "341",
"account_branch": "0001",
"account_number": "123456",
"account_digit": "7"
}

Body attributes​

FieldTypeRequiredDescription
transfer_typestringYespix or ted.
pix_keystringConditionalPix key, from 1 to 77 characters. Only with transfer_type = pix, and without the account details.
financial_institution_codestringConditionalBank COMPE code, exactly 3 digits (341), not all zeros.
account_branchstringConditionalBranch, exactly 4 digits, not all zeros.
account_numberstringConditionalAccount number, from 1 to 20 digits, not all zeros.
account_digitstringConditionalAccount check digit, exactly 1 digit.
main_accountbooleanNoMakes this the main account, demoting the previous one. Default: false. The vendor's first account is always the main account.

Valid combinations:

  • pix with pix_key and no account details.
  • pix with the four account details and no pix_key (Pix to the account).
  • ted with the four account details.

With account details, the API identifies the bank by financial_institution_code and returns the ISPB in the response.

Response​

STATUS
201
Response body
{
"bank_account_key": "0f9e8d7c-6b5a-4f3e-2d1c-0b9a8f7e6d5c",
"transfer_type": "ted",
"main_account": false,
"status": "active",
"financial_institution_code": "341",
"financial_institution_ispb": "60701190",
"account_branch": "0001",
"account_number": "123456",
"account_digit": "7"
}

Response attributes​

FieldTypeDescription
bank_account_keystringAccount key (UUID).
transfer_typestringpix or ted.
main_accountbooleanMain account.
statusstringactive or inactive.
pix_keystringPix key. Present only when provided.
financial_institution_codestringBank COMPE code. Present only with account details.
financial_institution_ispbstringBank ISPB, 8 digits. Present only with account details.
account_branchstringBranch. Present only with account details.
account_numberstringAccount number. Present only with account details.
account_digitstringAccount check digit. Present only with account details.

Fields without a value do not come as null: they are omitted from the response.

Update a bank account​

Promotes an account to main account or changes its status. At least one of the two fields is required.

Available on
ProfileHostRequired permission
Managermanager-apiWrite
Consultantconsultant-apiActive integration

Base URL for each host: Environments (Hosts).

ENDPOINT
/vendor_registry/vendor/{vendor_key}/bank_account/{bank_account_key}
METHOD
PUT
Request body
{
"main_account": true
}
FieldTypeRequiredDescription
main_accountbooleanNoOnly true is accepted: promotes this account and demotes the current main account. false returns 400 (VRG000074).
statusstringNoinactive deactivates the account; active reactivates it.

Response​

STATUS
200

The updated account, with the same structure as on registration.

List bank accounts​

Available on
ProfileHostRequired permission
Managermanager-apiRead
Consultantconsultant-apiActive integration

Base URL for each host: Environments (Hosts).

ENDPOINT
/vendor_registry/vendor/{vendor_key}/bank_account
METHOD
GET

Query parameters​

ParameterTypeRequiredDescription
limitintegerNoItems per page, from 0 to 1000. Default: 10.
pageintegerNoPage, starting at 0. Default: 0.

Returns all accounts, active and inactive, from newest to oldest.

Response​

STATUS
200
Response body
{
"data": [
{
"bank_account_key": "0f9e8d7c-6b5a-4f3e-2d1c-0b9a8f7e6d5c",
"transfer_type": "pix",
"main_account": true,
"status": "active",
"pix_key": "44555666000181"
}
],
"limit": 10,
"page": 0,
"is_last_page": true
}

Errors​

STATUS
400
codeWhen it happens
VRG000059pix_key sent with transfer_type = ted.
VRG000028pix_key sent together with account details.
VRG000048transfer_type = pix without pix_key and without the four account details.
VRG000019transfer_type = ted without the four account details.
VRG000021financial_institution_code does not match any bank.
VRG000074main_account: false sent on update.
VRG000078You tried to promote to main an account that is inactive, or one being deactivated in the same call.
VRG000075You tried to deactivate the main account while there is another active account. Promote another account first.
Example
{
"title": "Pix Key Or Account Data Required",
"description": "For a pix transfer, either pix_key or the full account data (financial_institution_code, account_branch, account_number, account_digit) must be provided.",
"translation": "Para uma transferencia pix, e necessario informar a pix_key ou os dados completos da conta (financial_institution_code, account_branch, account_number, account_digit).",
"code": "VRG000048"
}
STATUS
404
codeWhen it happens
VRG000014The vendor_key does not exist or the vendor is not visible to you.
VRG000073The bank_account_key does not belong to this vendor.

Authentication, permission and host errors: see API Errors.

Next step​

Signer group, or go to the analysis submission.