Account creation (1.0)

Download OpenAPI specification:Download

Account opening

Create an account opening request

Creates an account opening request for a specific customer. See the account opening guide for more information about this process and its associated stages.

Request
Security:
Request Body schema: application/json
customer_id
required
string

The ID (e.g., person_id or business_id) of the customer for whom you're opening the account.

customer_type
required
string

The type of customer for whom you're opening an account. Use Person for B2C and Freelancer customers and Business for B2B customers.

Enum: "Person" "Business"
product_name
required
string

The product name for which you want to open an account. Check the account opening guide for more information about this field.

Enum: "CURRENT_ACCOUNT_BUSINESS_FRANCE" "CURRENT_ACCOUNT_BUSINESS_GERMANY" "CURRENT_ACCOUNT_BUSINESS_ITALY" "CURRENT_ACCOUNT_BUSINESS_SPAIN" "CURRENT_ACCOUNT_CONSUMER_FRANCE" "CURRENT_ACCOUNT_CONSUMER_GERMANY" "CURRENT_ACCOUNT_CONSUMER_ITALY" "CURRENT_ACCOUNT_CONSUMER_SPAIN" "CURRENT_ACCOUNT_FREELANCER_FRANCE" "CURRENT_ACCOUNT_FREELANCER_GERMANY" "CURRENT_ACCOUNT_FREELANCER_ITALY" "CURRENT_ACCOUNT_FREELANCER_SPAIN" "CUSTOMER_CARD_SETTLEMENT" "DECOUPLED_CARD_CONSUMER_GERMANY" "EMONEY_ACCOUNT_BUSINESS_GERMANY" "EMONEY_ACCOUNT_CONSUMER_GERMANY" "EMONEY_ACCOUNT_FREELANCER_GERMANY" "RESTRICTED_ACCOUNT_BUSINESS_GERMANY" "RESTRICTED_ACCOUNT_CONSUMER_GERMANY" "RESTRICTED_ACCOUNT_CONSUMER_ITALY" "SAVINGS_ACCOUNT_CONSUMER_FRANCE" "SAVINGS_ACCOUNT_BUSINESS_FRANCE" "SAVINGS_ACCOUNT_FREELANCER_FRANCE" "SAVINGS_ACCOUNT_CONSUMER_GERMANY" "SAVINGS_ACCOUNT_BUSINESS_GERMANY" "SAVINGS_ACCOUNT_FREELANCER_GERMANY" "SAVINGS_ACCOUNT_CONSUMER_ITALY" "SAVINGS_ACCOUNT_BUSINESS_ITALY" "SAVINGS_ACCOUNT_FREELANCER_ITALY" "SAVINGS_ACCOUNT_CONSUMER_SPAIN" "SAVINGS_ACCOUNT_BUSINESS_SPAIN" "SAVINGS_ACCOUNT_FREELANCER_SPAIN" "SOFT_CURRENCY_ACCOUNT" "SUBACCOUNT_FRANCE" "SUBACCOUNT_GERMANY" "SUBACCOUNT_ITALY" "SUBACCOUNT_SPAIN"
account_type
required
string

The type of account you want to open. Must correspond to the product_name and customer_type. Check the account opening guide for more information about this field.

Enum: "CALL_MONEY" "CARD_SETTLEMENT_PARTNER" "CHECKING_BUSINESS" "CHECKING_PERSONAL" "CHECKING_PERSONAL_OVERDRAFT" "CHECKING_SOLE_PROPRIETOR" "CHECKING_SUBACCOUNT" "CUSTOMER_CURRENCY_ACCOUNT" "DECOUPLED_CARD_BUSINESS" "DECOUPLED_CARD_PERSONAL" "EMONEY_PARKING" "EMONEY_PREPAID" "SAVINGS_BUSINESS" "SAVINGS_PERSONAL" "SAVINGS_SOLE_PROPRIETOR" "WALLET_BUSINESS" "WALLET_INSTITUTIONAL" "WALLET_LIQUIDITY_PROVIDER" "WALLET_PERSONAL" "WALLET_PERSONAL_PAYMENT_ACC"
account_purpose
string

The purpose of the account. Use primary unless otherwise instructed.

account_bic
required
string

The BIC to apply to the account. Choose the BIC that corresponds with the branch in which you want to open the account.

Enum: "SOBKDEBBXXX" "SOBKDEB2XXX" "SOBKITM2XXX" "SOBKFRP2XXX" "SOBKESM2XXX"
account_currency
required
string

The currency of the account.

Enum: "CAD" "CHF" "CNY" "DKK" "EUR" "GBP" "HKD" "JPY" "NOK" "SEK" "SGD" "USD" "AED" "ALL" "AMD" "ANG" "AOA" "ARS" "AUD" "AZN" "BAM" "BBD" "BDT" "BGN" "BHD" "BMD" "BND" "BOB" "BRL" "BTN" "BZD" "CLP" "COP" "CRC" "CUP" "CVE" "CZK" "DJF" "DOP" "DZD" "ETB" "FJD" "GEL" "GTQ" "GYD" "HNL" "HRK" "HTG" "HUF" "IDR" "ILS" "INR" "JMD" "JOD" "KES" "KRW" "KWD" "KYD" "KZT" "LAK" "LKR" "LRD" "LSL" "MAD" "MDL" "MGA" "MKD" "MOP" "MUR" "MVR" "MWK" "MXN" "MYR" "MZN" "NAD" "NPR" "NZD" "OMR" "PEN" "PGK" "PHP" "PLN" "PYG" "QAR" "RON" "RSD" "RUB" "RWF" "SAR" "SCR" "SLL" "SRD" "STN" "SVC" "SZL" "THB" "TJS" "TRY" "TWD" "TZS" "UAH" "UGX" "UYU" "UZS" "VND" "XPF" "ZAR" "ZMW" "EMONEY_EUR"
Responses
200

The operation was successful (idempotency).

201

The account opening request was successfully initiated.

400

An error occurred on the client side.

500

Internal server error.

post/v1/accounts/opening_requests
Request samples
application/json
{
  • "customer_id": "b109ee6f66d2a061e006bd31c6455df2cper",
  • "customer_type": "Person",
  • "product_name": "CURRENT_ACCOUNT_CONSUMER_GERMANY",
  • "account_type": "CHECKING_PERSONAL",
  • "account_purpose": "primary",
  • "account_bic": "SOBKDEB2XXX",
  • "account_currency": "EUR"
}
Response samples
application/json
{
  • "id": "f8d7fbbd587047a0aa449ce69d2d6c08aorq",
  • "customer_id": "b109ee6f66d2a061e006bd31c6455df2cper",
  • "customer_type": "Person",
  • "status": "COMPLETED",
  • "product_name": "CURRENT_ACCOUNT_CONSUMER_GERMANY",
  • "account_type": "CHECKING_PERSONAL",
  • "account_purpose": "primary",
  • "account_bic": "SOBKDEB2XXX",
  • "account_currency": "EUR",
  • "rejection_reason": {
    },
  • "account_id": "c5a0e32369e9372e0fdf490294cecd8dcacc",
  • "iban": "DE49110101013998767672",
  • "created_at": "2021-12-22T15:05:33.634+00:00",
  • "updated_at": "2021-12-22T15:05:33.634+00:00"
}

Index all account opening requests for all of your customers

Returns an array containing all account opening requests for all of your customers.

Request
Security:
query Parameters
filter[customer_id]
string

Filters the response by the customer ID.

filter[status]
string (account_opening_request_status_enum)

Filters the response by the status of the account opening request (AOR).

Enum: "INITIATED" "IN_PROGRESS" "COMPLETED" "REJECTED"
Example: filter[status]=COMPLETED
filter[created_at][min]
string

Filters the response by the created_at field (min border) of the AOR.

filter[created_at][max]
string

Filters the response by the created_at field (max border) of the AOR.

sort
string

Sorts the returned AORs by the created_at field.

page[size]
integer [ 1 .. 1000 ]
Default: 10

The size of each results page to return.

page[number]
integer >= 1
Default: 1

The number of results pages to return.

Responses
200

The operation was successful.

400

An error occurred on the client side.

500

Internal server error.

get/v1/accounts/opening_requests
Request samples
curl -i -X GET \
  'https://api.solaris-sandbox.de/v1/accounts/opening_requests?filter%5Bcustomer_id%5D=string&filter%5Bstatus%5D=COMPLETED&filter%5Bcreated_at%5D%5Bmin%5D=string&filter%5Bcreated_at%5D%5Bmax%5D=string&sort=string&page%5Bsize%5D=10&page%5Bnumber%5D=1'
Response samples
application/json
[
  • {
    }
]

Retrieve a single account opening request

Returns the details of the account opening request specified in the request URL.

Request
Security:
path Parameters
id
required
string

The ID of the account opening request to return.

Responses
200

The operation was successful.

400

An error occurred on the client side.

404

The account opening request could not be found.

500

Internal server error.

get/v1/accounts/opening_requests/{id}
Request samples
curl -i -X GET \
  'https://api.solaris-sandbox.de/v1/accounts/opening_requests/{id}'
Response samples
application/json
{
  • "id": "f8d7fbbd587047a0aa449ce69d2d6c08aorq",
  • "customer_id": "b109ee6f66d2a061e006bd31c6455df2cper",
  • "customer_type": "Person",
  • "status": "COMPLETED",
  • "product_name": "CURRENT_ACCOUNT_CONSUMER_GERMANY",
  • "account_type": "CHECKING_PERSONAL",
  • "account_purpose": "primary",
  • "account_bic": "SOBKDEB2XXX",
  • "account_currency": "EUR",
  • "rejection_reason": {
    },
  • "account_id": "c5a0e32369e9372e0fdf490294cecd8dcacc",
  • "iban": "DE49110101013998767672",
  • "created_at": "2021-12-22T15:05:33.634+00:00",
  • "updated_at": "2021-12-22T15:05:33.634+00:00"
}

Person accounts

Create an account for a personDeprecated

Creates an account for the person specified in the request URL.
The person in the request URL will be assigned the role of account owner. Consult with your Partner Manager to determine which values you should use for account_type.
Note that you may only open an account for a person after they have successfully completed the identification process.
Upon creation, the account_limit will always be set to zero. If you are creating a specific type of account with a default limit in place as agreed with Solaris, then use the GET Retrieve an account endpoint to obtain this value.

Request
Security:
path Parameters
person_id
required
string
Request Body schema: application/json

The content of the request.

type
string (Solaris-Decorators-AccountTypeEnum)

The type of account.

Enum: "BASIC_ACCOUNT" "BILLING_ACCOUNT" "CALL_MONEY" "CASH_DEPOSIT" "CHECKING_BUSINESS" "CHECKING_BUSINESS_CREDITLINE" "CHECKING_FIXED_MATURITY" "CHECKING_OVERDRAFT" "CHECKING_OVERDRAFT_FLEXIBLE" "CHECKING_PERSON_CREDIT_LINE" "CHECKING_PERSON_INSTALMENT_LOAN" "CHECKING_PERSONAL" "CHECKING_PERSONAL_OVERDRAFT" "CHECKING_SOLE_PROPRIETOR" "CLEARING_ACCOUNT" "COLLECTION_ACCOUNT" "DECOUPLED_CARD_BUSINESS" "DEPOSIT_FIXED_TERM_BUSINESS" "DEPOSIT_TIME_PASSIVE" "EMONEY_PARKING" "EMONEY_PREPAID" "EMONEY_PREPAID_POOLING" "ESCROW_LIABILITY" "EXTERNAL_ACCOUNT" "FACTORING" "GENERAL_LEDGER" "GUARANTEE" "INDIVIDUAL_SPECIFIC_PROVISIONS" "LIABILITY_ASSUMPTION" "LOAN_ACCOUNT_CREDIT_LINE" "LOAN_ACCOUNT_MUNICIPALITIES" "LOAN_BALLOON" "LOAN_BULLET" "LOAN_RATE_FIXED" "LOAN_RATE_VARIABLE" "LORO" "SDD_DEPOSIT" "SETTLEMENT" "SME_LOAN" "SURETY" "TAGESGELD_ACTIVE"
purpose
string
Default: "primary"

The purpose of the account. Use primary unless otherwise instructed.

bic
string

The BIC to apply to the account. Choose the BIC that applies to the country where you wish to open the account.

Enum: "SOBKDEBBXXX" "SOBKDEB2XXX" "SOBKITM2XXX" "SOBKFRP2XXX" "SOBKESM2XXX"
Responses
201

Successful result of the operation

400

Invalid request.

403

You are not authorized to perform this action.

404

The resource could not be found.

500

Internal server error.

default

Unexpected error

post/v1/persons/{person_id}/accounts
Request samples
application/json
{
  • "type": "CHECKING_BUSINESS",
  • "purpose": "primary",
  • "bic": "SOBKDEBBXXX"
}
Response samples
application/json
{
  • "id": "efe320cbe121418c982b6af45bc9cacc",
  • "iban": "DE43110101005555555555",
  • "bic": "SOBKDEB2XXX",
  • "type": "BASIC_ACCOUNT",
  • "purpose": "primary",
  • "currency": "EUR",
  • "balance": {
    },
  • "available_balance": {
    },
  • "locking_status": "NO_BLOCK",
  • "locking_reasons": [
    ],
  • "account_limit": {
    },
  • "person_id": "0ba2211cab11af6094d60ead81f2bd9dcper",
  • "business_id": "52e6a9b8a559d842ed7d8901b0e1bf4bcbiz"
}

Index a person's accounts

Returns an array containing all accounts owned by the person specified in the request URL.

Request
Security:
path Parameters
person_id
required
string
query Parameters
page[number]
string

The number of results pages to return.

page[size]
string

The size of each page in the response.

filter[iban]
string

Filters the results by IBAN.

Responses
200

Successful result of the operation

400

Invalid request.

403

You are not authorized to perform this action.

404

The resource could not be found.

500

Internal server error.

default

Unexpected error

get/v1/persons/{person_id}/accounts
Request samples
curl -i -X GET \
  'https://api.solaris-sandbox.de/v1/persons/{person_id}/accounts?page%5Bnumber%5D=string&page%5Bsize%5D=string&filter%5Biban%5D=string'
Response samples
application/json
[
  • {
    }
]

Get a single personal account

Returns information about a single personal banking account.

Request
Security:
path Parameters
person_id
required
string
account_id
required
string
Responses
200

The operation was successful.

400

An error occurred on the client side.

404

The account could not be found.

500

Internal server error.

get/v1/persons/{person_id}/accounts/{account_id}
Request samples
curl -i -X GET \
  'https://api.solaris-sandbox.de/v1/persons/{person_id}/accounts/{account_id}'
Response samples
application/json
{
  • "id": "5526853938474f3e92b22a03ea57a544cacc",
  • "iban": "DE76110101001100000999",
  • "bic": "SOBKDEBBXXX",
  • "type": "CHECKING_PERSONAL",
  • "overdraft": {
    },
  • "balance": {
    },
  • "available_balance": {
    },
  • "locking_status": "NO_BLOCK",
  • "locking_reasons": [
    ],
  • "account_limit": {
    },
  • "person_id": "bb66a0161a0a4066abfe133412f6236dcper",
  • "business_id": "a9a25dc10aa74244bd0bb75d1ce6b3b5cbiz",
  • "partner_id": "55e47118b78741dbb81cdd3d372bc448cpar",
  • "opened_at": "2017-10-11T22:33:26Z",
  • "status": "ACTIVE",
  • "closed_at": "2022-01-01T12:11:16Z"
}

Update a personal account

Updates the personal account specified in the request URL.

Request
Security:
path Parameters
person_id
required
string
account_id
required
string
Request Body schema: application/json
block_reasons
required
Array of strings

The reason the customer wants to block/unblock their account.

Items Enum: "CUSTOMER_WISH" "COMPLIANCE_PARTNER"
acccount_id
string

The account ID.

person_id
required
string

The customer's unique person ID.

comment
string

Additional information about the request.

Responses
204

Successfully updated the person's account.

400

An error occurred on the client side.

404

The resource could not be found.

500

Internal server error.

patch/v1/persons/{person_id}/accounts/{account_id}
Request samples
application/json
{
  • "block_reasons": [
    ],
  • "acccount_id": "adc123a45d6d7cf8fbfeed537ba919d5cacc",
  • "person_id": "dc1a6812a14f6cc338cd084208535bcdcper",
  • "comment": "string"
}
Response samples
application/json
{
  • "errors": [
    ]
}

Business accounts

Create an account for a businessDeprecated

Creates a bank account for the business specified in the request URL. The customer who opens the account is the account owner.
Please note the following:

  • An account can only be opened after the account owner has had a successful person identification.
  • Choose the BIC that corresponds with your desired passporting/branching scheme (e.g., SOBKDEB2XXX for German accounts, SOBKITM2XXX for Italian branch accounts).
  • On sandbox, set the account type to CHECKING_BUSINESS. Solaris' backend will automatically set the balance to 1000 EUR for testing purposes.

Request
Security:
path Parameters
business_id
required
string
Request Body schema: application/json

The content of the request.

type
string (Solaris-Decorators-AccountTypeEnum)

The type of account.

Enum: "BASIC_ACCOUNT" "BILLING_ACCOUNT" "CALL_MONEY" "CASH_DEPOSIT" "CHECKING_BUSINESS" "CHECKING_BUSINESS_CREDITLINE" "CHECKING_FIXED_MATURITY" "CHECKING_OVERDRAFT" "CHECKING_OVERDRAFT_FLEXIBLE" "CHECKING_PERSON_CREDIT_LINE" "CHECKING_PERSON_INSTALMENT_LOAN" "CHECKING_PERSONAL" "CHECKING_PERSONAL_OVERDRAFT" "CHECKING_SOLE_PROPRIETOR" "CLEARING_ACCOUNT" "COLLECTION_ACCOUNT" "DECOUPLED_CARD_BUSINESS" "DEPOSIT_FIXED_TERM_BUSINESS" "DEPOSIT_TIME_PASSIVE" "EMONEY_PARKING" "EMONEY_PREPAID" "EMONEY_PREPAID_POOLING" "ESCROW_LIABILITY" "EXTERNAL_ACCOUNT" "FACTORING" "GENERAL_LEDGER" "GUARANTEE" "INDIVIDUAL_SPECIFIC_PROVISIONS" "LIABILITY_ASSUMPTION" "LOAN_ACCOUNT_CREDIT_LINE" "LOAN_ACCOUNT_MUNICIPALITIES" "LOAN_BALLOON" "LOAN_BULLET" "LOAN_RATE_FIXED" "LOAN_RATE_VARIABLE" "LORO" "SDD_DEPOSIT" "SETTLEMENT" "SME_LOAN" "SURETY" "TAGESGELD_ACTIVE"
purpose
string

The purpose of the account. The default value is primary.

bic
string

The BIC to apply to the account. Choose the BIC that applies to the country where you wish to open the account.

Enum: "SOBKDEBBXXX" "SOBKDEB2XXX" "SOBKITM2XXX" "SOBKFRP2XXX" "SOBKESM2XXX"
Responses
201

Successful result of the operation

400

Invalid request.

403

You are not authorized to perform this action.

404

The resource could not be found.

500

Internal server error.

default

Unexpected error

post/v1/businesses/{business_id}/accounts
Request samples
application/json
{
  • "type": "CHECKING_BUSINESS",
  • "purpose": "primary",
  • "bic": "SOBKDEB2XXX"
}
Response samples
application/json
{
  • "id": "efe320cbe121418c982b6af45bc9cacc",
  • "iban": "DE43110101005555555555",
  • "bic": "SOBKDEB2XXX",
  • "type": "BASIC_ACCOUNT",
  • "purpose": "primary",
  • "currency": "EUR",
  • "balance": {
    },
  • "available_balance": {
    },
  • "locking_status": "NO_BLOCK",
  • "locking_reasons": [
    ],
  • "account_limit": {
    },
  • "person_id": "0ba2211cab11af6094d60ead81f2bd9dcper",
  • "business_id": "52e6a9b8a559d842ed7d8901b0e1bf4bcbiz"
}

Retrieve a business account

Returns the business account specified in the request URL.

Request
Security:
path Parameters
business_id
required
string
id
required
string
Responses
200

The operation was successful.

400

An error occurred on the client side.

404

The account could not be found.

500

Internal server error.

default

Unexpected error

get/v1/businesses/{business_id}/accounts/{id}
Request samples
curl -i -X GET \
  'https://api.solaris-sandbox.de/v1/businesses/{business_id}/accounts/{id}'
Response samples
application/json
{
  • "id": "5526853938474f3e92b22a03ea57a544cacc",
  • "iban": "DE76110101001100000999",
  • "bic": "SOBKDEBBXXX",
  • "type": "CHECKING_PERSONAL",
  • "purpose": "string",
  • "currency": "EUR",
  • "balance": {
    },
  • "available_balance": {
    },
  • "opened_at": "2017-10-11T22:33:26Z",
  • "locking_status": "NO_BLOCK",
  • "locking_reasons": [
    ],
  • "account_limit": {
    },
  • "person_id": "bb66a0161a0a4066abfe133412f6236dcper",
  • "business_id": "a9a25dc10aa74244bd0bb75d1ce6b3b5cbiz",
  • "status": "string",
  • "closure_reason": "COMPLIANCE_IMMEDIATE_INTERNAL",
  • "overdraft": {
    },
  • "closed_at": "2022-01-01T12:11:16Z"
}