API Explorer 1 endpoints

Create Account (POST)

POST /obp/v7.0.0/banks/BANK_ID/accounts

OBPv7.0.0-createAccountV700 Roles: CanCreateAccount(per bank) AccountOnboarding

Create an Account at the bank specified by BANK_ID.

The logged-in user must have the Role CanCreateAccount at BANK_ID. Unlike the v4.0.0/v5.0.0 Create Account, creating an account for yourself does not waive the Role: self-service account opening is deprecated in v7.0.0 — use Account Applications for customer-initiated account opening.

The body USER_ID is optional; when present the created Account is owned by the User specified by USER_ID, otherwise by the logged-in User.

The product_code SHOULD be a product_code from Product. If it matches one, Account Attributes are created from the Product Attributes.

account_routings carries external routings only (e.g. IBAN). The OBP-family schemes (OBP, OBP_ACCOUNT_ID) are refused: the canonical {"scheme": "OBP", "address": "<account_id>"} routing is implicit and included in every response, never stored. One routing per scheme; a routing address already registered at the bank is refused.

The balance amount MUST be zero.

Authentication is Required.

The ACCOUNT_ID is generated by the server and returned in the response. To specify the ACCOUNT_ID yourself, use the PUT variant.

User Authentication is Required. The User must be logged in. The Application must also be authenticated.

URL Parameters:

BANK_ID: gh.29.uk

JSON request body fields (10)
address
amount
10.12
balance
10
currency
EUR
label
My Account
product_code
1234BW
scheme
OBP
account_routings
branch_id
DERBY6
user_id
9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1
JSON response body fields (13)
account_attributes
account_id
8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0
account_routings
address
amount
10.12
balance
10
bank_id
gh.29.uk
branch_id
DERBY6
currency
EUR
label
My Account
product_code
1234BW
scheme
OBP
user_id
9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1
Example request body
{
  "user_id": "9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1",
  "label": "My Account",
  "product_code": "OPEN_CORRIDOR",
  "balance": {
    "currency": "EUR",
    "amount": "0"
  },
  "branch_id": "",
  "account_routings": [
    {
      "scheme": "IBAN",
      "address": "DE91100000000123456789"
    }
  ]
}
Example success response
{
  "account_id": "8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0",
  "bank_id": "gh.29.uk",
  "user_id": "9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1",
  "label": "My Account",
  "product_code": "OPEN_CORRIDOR",
  "balance": {
    "currency": "EUR",
    "amount": "0"
  },
  "branch_id": "",
  "account_routings": [
    {
      "scheme": "OBP",
      "address": "8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0"
    },
    {
      "scheme": "IBAN",
      "address": "DE91100000000123456789"
    }
  ],
  "account_attributes": []
}
Possible errors (11)
  • OBP-20001: User not logged in. Authentication is required!
  • OBP-30001: Bank not found. Please specify a valid value for BANK_ID.
  • OBP-10001: Incorrect json format.
  • OBP-20005: User not found. Please specify a valid value for USER_ID.
  • OBP-20006: User is missing one or more roles:
  • OBP-30114: Invalid Account Routings.
  • OBP-30115: Account Routing already exist.
  • OBP-30112: Invalid Number. Initial balance must be a number, e.g 1000.00
  • OBP-30109: Initial Balance of Account must be Zero (0).
  • OBP-10003: Invalid Currency Value. Expected a 3-letter ISO Currency Code (e.g., 'USD', 'EUR'), 'lovelace' (Cardano), or 'ETH' (Ethereum). Refer to ISO 4217 currency codes: https://www.iso.org/iso-4217-currency-codes.html
  • OBP-50000: Unknown Error.
Implemented by OBPv7.0.0 createAccountV700