# Register Brazilian bank account Register a new bank account with Brazilian bank + branch + account number scheme. To read about Pismo's banking offerings, see [Banking overview](doc:banking-overview). This endpoint generates a Bank account registered event. # OpenAPI definition ```json { "openapi": "3.1.0", "info": { "title": "Banking - Bank accounts", "version": "1.0.0", "description": "API for managing bank accounts in global formats", "contact": { "name": "API Support", "url": "https://developers.pismo.io/support/" }, "license": { "name": "Copyright Pismo" } }, "servers": [ { "url": "https://sandbox.pismolabs.io/intl-bankaccounts", "description": "Sandbox API server for testing" } ], "security": [ { "BearerAuth": [] } ], "tags": [ { "name": "Bank accounts", "description": "Bank account management endpoints" } ], "components": { "securitySchemes": { "BearerAuth": { "type": "http", "scheme": "bearer", "description": "Account token - token encoded with Pismo account ID. Tokens can expire quickly, which can result in an **401 Unauthorized** error.", "bearerFormat": "JWT" } }, "parameters": { "accountIDpath": { "name": "accountId", "in": "path", "description": "Pismo account ID", "required": true, "schema": { "type": "string" }, "example": "78123456" }, "auth": { "name": "AuthorizationHeader", "in": "header", "description": "Account token - Token encoded with a Pismo account ID. Tokens can expire quickly, which can result in a **401 Unauthorized** error. \n", "required": true, "schema": { "type": "string" }, "example": 1234 } }, "schemas": { "accountID": { "type": "integer", "description": "Account ID", "example": 78123456 }, "brazilAccountType": { "type": "string", "enum": [ "CACC", "SLRY", "SVGS", "TRAN" ], "maxLength": 4, "description": "Account type: \n `CACC` - Checking/current account. Known as \"conta corrente\" in Portuguese, this is a bank account type designed for everyday financial transactions and is the most common type individuals and businesses use for day-to-day banking.\n `SVGS` - Savings account\n `TRAN` - Payment account. Payment institutions offer payment accounts to move funds and make payments, while banks offer checking accounts that include full financial services such as credit and investments.\n `SLRY` - Salary account. Employer deposits a fixed amount every month.\n", "example": "TRAN" }, "brazilBank": { "type": "string", "minLength": 8, "maxLength": 8, "description": "ISPB (Identificador do Sistema de Pagamento Brazil) - the Brazilian payment system bank ID, the value is eight digits long.", "example": "76523428" }, "brazilBranch": { "type": "string", "description": "Branch code, a 4-digit value. Values under four digits are left-padded with zeroes.", "minLength": 1, "maxLength": 4, "example": "0186" }, "brazilAccountNumber": { "type": "string", "minLength": 1, "maxLength": 13, "example": "1773065291", "description": "Account number. Cannot contain leading zeroes." }, "creationDatetime": { "type": "string", "format": "date-time", "description": "Account creation date time displayed in ISO 8601 format `2023-04-12T23:20:50.52Z`.", "example": "2023-04-12T23:20:50.52Z" }, "domain.Error": { "type": "object", "properties": { "code": { "type": "string", "description": "Error type code", "example": "EIBA0001" }, "details": { "type": "string", "description": "Error details", "example": "Key not found" }, "message": { "type": "string", "description": "Error message", "example": "Key not found" } } }, "intlbankaccounts.BrazilScheme": { "type": "object", "required": [ "bank", "branch", "account_number", "supplementary_data" ], "properties": { "bank": { "$ref": "#/components/schemas/brazilBank" }, "branch": { "$ref": "#/components/schemas/brazilBranch" }, "account_number": { "$ref": "#/components/schemas/brazilAccountNumber" }, "supplementary_data": { "$ref": "#/components/schemas/intlbankaccounts.BrazilSupplementaryData" } } }, "intlbankaccounts.BrazilSupplementaryData": { "type": "object", "required": [ "account_type" ], "properties": { "account_type": { "$ref": "#/components/schemas/brazilAccountType" } } }, "intlbankaccounts.IntlBankAccountBrazilRequest": { "type": "object", "required": [ "scheme" ], "properties": { "scheme": { "$ref": "#/components/schemas/intlbankaccounts.BrazilScheme" }, "metadata": { "$ref": "#/components/schemas/metadata" } } }, "intlbankaccounts.IntlBankAccountBrazilResponse": { "type": "object", "required": [ "scheme" ], "properties": { "account_id": { "$ref": "#/components/schemas/accountID" }, "creation_datetime": { "$ref": "#/components/schemas/creationDatetime" }, "metadata": { "$ref": "#/components/schemas/metadata" }, "scheme": { "$ref": "#/components/schemas/intlbankaccounts.BrazilScheme" } } }, "metadata": { "additionalProperties": true, "type": "object", "description": "A set of key-value pairs used to store custom data or additional information." } } }, "paths": { "/v2/accounts/{accountId}/bank-accounts/brazil": { "post": { "tags": [ "Bank accounts" ], "summary": "Register Brazilian bank account", "description": "Register a new bank account with Brazilian bank + branch + account number scheme.\n\nTo read about Pismo's banking offerings, see [Banking overview](https://developers.pismo.io/pismo-docs/docs/banking-overview).\n\nThis endpoint generates a Bank account registered event.\n", "operationId": "post-intl-bank-accounts-v2-accounts-account-id-bank-accounts-brazil", "parameters": [ { "$ref": "#/components/parameters/auth" }, { "$ref": "#/components/parameters/accountIDpath" } ], "requestBody": { "description": "Register Brazilian bank account request body", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/intlbankaccounts.IntlBankAccountBrazilRequest" } } }, "required": true }, "responses": { "201": { "description": "Register Brazilian bank account response body", "headers": { "x-cid": { "description": "Request tracking identifier.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/intlbankaccounts.IntlBankAccountBrazilResponse" } } } }, "400": { "description": "Bad", "headers": { "x-cid": { "description": "Request tracking identifier.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/domain.Error" }, "examples": { "EIBA0009": { "summary": "Validation Error", "value": { "code": "EIBA0009", "message": "Validation error" } }, "EIBA0012": { "summary": "Accounts API invalid request", "value": { "code": "EIBA0012", "message": "Accounts - API returned 4xx error" } } } } } }, "403": { "description": "Forbidden", "headers": { "x-cid": { "description": "Request tracking identifier.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/domain.Error" }, "examples": { "EIBA0006": { "summary": "Missing tenant header", "value": { "code": "EIBA0006", "message": "Missing required header: 'x-tenant'" } }, "EIBA0007": { "summary": "Invalid account ID header", "value": { "code": "EIBA0007", "message": "Invalid account ID header: 'x-account-id'" } }, "EIBA0023": { "summary": "Account status not NORMAL", "value": { "code": "EIBA0023", "message": "Account status not NORMAL" } } } } } }, "404": { "description": "Not Found", "headers": { "x-cid": { "description": "Request tracking identifier.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/domain.Error" }, "examples": { "EIBA0010": { "summary": "Account not found", "value": { "code": "EIBA0010", "message": "Account not found" } } } } } }, "409": { "description": "Conflict", "headers": { "x-cid": { "description": "Request tracking identifier.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/domain.Error" }, "examples": { "EIBA0028": { "summary": "IntlBankAccount Already Exists", "value": { "code": "EIBA0028", "message": "IntlBankAccount - Already Exists" } } } } } }, "500": { "description": "Internal Server Error", "headers": { "x-cid": { "description": "Request tracking identifier.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/domain.Error" }, "examples": { "EIBA0005": { "summary": "HTTP error", "value": { "code": "EIBA0005", "message": "HTTP error" } }, "EIBA0011": { "summary": "Accounts API server error", "value": { "code": "EIBA0011", "message": "Accounts - API returned 5xx error" } }, "EIBA0013": { "summary": "Accounts API timeout", "value": { "code": "EIBA0013", "message": "Accounts - API timeout" } }, "EIBA0015": { "summary": "Database error", "value": { "code": "EIBA0015", "message": "Database internal error" } } } } } } }, "x-codegen-request-body-name": "RequestBody" } } } } ```