# Register BBAN account
Register a new Basic Bank Account Number (BBAN) bank account.
BBAN is a bank account numbering system used in many countries, especially in Europe. For international transactions, the BBAN is combined with the country code and a checksum to create an IBAN (International Bank Account Number).
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
},
"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.BbanScheme": {
"type": "object",
"required": [
"bban"
],
"properties": {
"bban": {
"type": "string",
"description": "Basic Bank Account Number (BBAN). BBAN is a bank account numbering system used in many countries, especially in Europe.",
"maxLength": 30,
"example": "GB539007547034"
}
}
},
"intlbankaccounts.IntlBankAccountBbanRequest": {
"type": "object",
"required": [
"scheme"
],
"properties": {
"scheme": {
"$ref": "#/components/schemas/intlbankaccounts.BbanScheme"
},
"metadata": {
"$ref": "#/components/schemas/metadata"
}
}
},
"intlbankaccounts.IntlBankAccountBbanResponse": {
"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.BbanScheme"
}
}
},
"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/bban": {
"post": {
"tags": [
"Bank accounts"
],
"summary": "Register BBAN account",
"description": "Register a new Basic Bank Account Number (BBAN) bank account.\n\nBBAN is a bank account numbering system used in many countries, especially in Europe. For international transactions, the BBAN is combined with the country code and a checksum to create an IBAN (International Bank Account Number).\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-bban",
"parameters": [
{
"$ref": "#/components/parameters/auth"
},
{
"$ref": "#/components/parameters/accountIDpath"
}
],
"requestBody": {
"description": "Request Body",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/intlbankaccounts.IntlBankAccountBbanRequest"
}
}
},
"required": true
},
"responses": {
"201": {
"description": "Response Body",
"headers": {
"x-cid": {
"description": "Request tracking identifier.",
"schema": {
"type": "string"
}
}
},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/intlbankaccounts.IntlBankAccountBbanResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"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"
}
}
}
}
```