Account management (1.0)

Download OpenAPI specification:Download

Accounts

Index accounts

Returns all accounts (both personal & business) managed under a partner.

Request
Security:
query Parameters
page[number]
string

Returns a specific page of results.

page[size];
string

Determines the size of each page of results.

filter[type]
string

Filters the returned accounts by type.

filter[iban]
string

Filters the returned accounts by IBAN.

filter[id]
string

Filters the returned accounts by UID (alias to filter[uid])

filter[uid]
string

Filters the returned accounts by UID

Responses
200

The operation was successful.

400

An error occurred on the client side.

500

Internal server error.

default

Unexpected error

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

Get an account

Returns information about a specific account (personal or business).

Request
Security:
path Parameters
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/accounts/{id}
Request samples
curl -i -X GET \
  'https://api.solaris-sandbox.de/v1/accounts/{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"
}

Get balance for an account

Returns the balance of an account in the form of two objects—balance and available_balance.

Request
Security:
path Parameters
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/accounts/{account_id}/balance
Request samples
curl -i -X GET \
  'https://api.solaris-sandbox.de/v1/accounts/{account_id}/balance'
Response samples
application/json
{
  • "available_balance": {
    },
  • "balance": {
    },
  • "seizure_protection": {
    }
}

Average Daily Account Balance

Fetches the average of daily end-of-day balance for the specified account and date range. A maximum of one year can be provided as date range. If the account has no balance for a given day because for example it was opened after the start_date OR closed before end_date, those days will have end-of-day balance as 0. If end_date is in the future, those days' balance is equal to the latest balance. It is recommended to present the average balance to the Customer as Yearly for past years and Year to Date for current year.

Request
Security:
path Parameters
account_id
required
string

Unique identifier to an account.

Example: e48c29b85992b8772eb7ddd518490920cacc
query Parameters
start_date
required
string <date> ([0-9]{4})-(?:[0-9]{2})-([0-9]{2})

Starting date (inclusive) for balance calculation

Example: start_date=2020-01-31
end_date
required
string <date> ([0-9]{4})-(?:[0-9]{2})-([0-9]{2})

End date (inclusive) for balance calculation

Example: end_date=2020-12-31
Responses
200

Average daily balance successfuly calculated.

400

Request error due invalid parameters.

404

Specified account was not found

500

A server error was encoutered during the request.

get/v1/accounts/{account_id}/average_daily_balance
Request samples
curl -i -X GET \
  'https://api.solaris-sandbox.de/v1/accounts/{account_id}/average_daily_balance?start_date=2020-01-31&end_date=2020-12-31'
Response samples
application/json
{
  • "acccount_id": "e48c29b85992b8772eb7ddd518490920cacc",
  • "average_daily_balance": {
    }
}

Get account bookings

Returns an array containing all bookings for an account.

Request
Security:
path Parameters
account_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.

sort
string

Sort the results by booking_date, valuta_date, recorded_at, or id.

Enum: "booking_date" "valuta_date" "recorded_at" "id"
filter[id]
string

ID of the booking.

filter[recorded_at][min]
string

Filter the results by the date and time when the booking was recorded starting from a certain date and time.

filter[recorded_at][max]
string

Filter the results by the date and time when the booking was recorded up until a certain date and time.

filter[valuta_date]
string

Filter the results by the valuta date.

filter[booking_type]
string

Filter the results by booking type.

filter[description]
string

Filter the results by booking description.

filter[receiver_iban_virtual]
string

Filter the results to show bookings received on virtual IBANs.

filter[transaction_id]
string

Filter the results by transaction ID.

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/accounts/{account_id}/bookings
Request samples
curl -i -X GET \
  'https://api.solaris-sandbox.de/v1/accounts/{account_id}/bookings?page%5Bnumber%5D=string&page%5Bsize%5D=string&sort=booking_date&filter%5Bid%5D=string&filter%5Brecorded_at%5D%5Bmin%5D=string&filter%5Brecorded_at%5D%5Bmax%5D=string&filter%5Bvaluta_date%5D=string&filter%5Bbooking_type%5D=string&filter%5Bdescription%5D=string&filter%5Breceiver_iban_virtual%5D=string&filter%5Btransaction_id%5D=string'
Response samples
application/json
{
  • "id": "6d4659e500ef4b10aa48d6b08d0d3e7b",
  • "creation_date": "2021-10-11",
  • "valuta_date": "2021-10-10",
  • "booking_date": "2021-10-11",
  • "booking_type": "SEPA_CREDIT_TRANSFER",
  • "amount": {
    },
  • "description": "CLESS TICKET ATM MILANO, MILANO",
  • "purpose_code": "string",
  • "recipient_bic": "COBADEFFXXX",
  • "recipient_iban": "DE33110101001000022515",
  • "recipient_name": "Max Mustermann",
  • "receiver_iban_virtual": "string",
  • "sender_bic": "SOBKDEBBXXX",
  • "sender_iban": "DE95110101000018501567",
  • "sender_name": "MasterCard_Solarisbank",
  • "end_to_end_id": "string",
  • "creditor_identifier": "string",
  • "mandate_reference": "string",
  • "transaction_id": "758ea4a268974284ae7af17871f3fdc4",
  • "return_transaction_id": "string",
  • "sepa_charges": {
    },
  • "sepa_return_code": "string",
  • "sepa_return_reason": "string",
  • "sepa_return_reason_definition": "string",
  • "meta_info": "'{\\\"cards\\\":{\\\"card_id\\\":\\\"36d4c37f8c8430c8ded3cfa94fb3fc93mcrd\\\",\\\"merchant\\\": {\\\"country_code\\\":\\\"DE\\\",\\\"category_code\\\":\\\"6011\\\",\\\"name\\\":\\\"BERLINER VOLKSBANK EG\\\",\\\"town\\\":\\\"TXL ABFLUG\\\"},\\\"original_amount\\\":{\\\"currency\\\":\\\"EUR\\\",\\\"value\\\":-1000,\\\"fx_rate\\\":1.0},\\\"pos_entry_mode\\\":\\\"CHIP\\\",\\\"trace_id\\\":\\\"651afb5beea67124d57be6dee27a2c5b7a241e58\\\",\\\"transaction_date\\\":\\\"2019-01-17\\\",\\\"transaction_time\\\":\\\"2019-01-17T16:41:50+00:00\\\",\\\"transaction_type\\\":\\\"CASH_ATM\\\"}}'\n",
  • "recorded_at": "2021-10-11T00:41:57Z",
  • "reconciliation_id": "1c76f8480f6e4f519797bdd9409dc2df"
}

Person accounts

Index accounts for a person

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 results page to return.

filter[iban]
string

Filters the results by IBAN.

Responses
200

The operation was successful.

400

An error occurred on the client side.

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 Value: "CUSTOMER_WISH"
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

Index accounts for a business

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

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

The number of results pages to return.

page[size]
string

The size of each results page.

filter[iban]
string

Filter on Iban

Responses
200

The operation was successful.

400

An error occurred on the client side.

404

The resource could not be found.

500

Internal server error.

default

Unexpected error

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

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"
}

Reference accounts

Index reference accounts for a business

Returns an array containing all reference accounts associated with the business account specified in the request URL.

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

The number of results pages to return.

page[size]
string

The number of results to return in each page.

filter[iban]
string

Filter the results by IBAN.

filter[status]
string

Filter the results by account status.

Enum: "ACTIVE" "INACTIVE"
Responses
200

The operation was successful.

400

Invalid request.

403

You are not authorized to perform this action.

404

The requested resource could not be found.

500

Internal server error.

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

Create a reference account for a business

Adds an external bank account as a reference account to the business' Solaris account specified in the request URL.
Note: Before calling this endpoint, you must create a SEPA Direct Debit mandate and have the customer sign it.

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

The content of the request.

name
string

The name of the external account holder.

iban
string

IBAN of the reference account.

mandate_number
string

The identifier of the SDD mandate that the customer signed.

mandate_signature_date
string <date>

The date when the customer signed the SDD mandate.

mandate_type
string

The type of SDD mandate.

Enum: "B2B" "Core"
Responses
201

The operation was successful.

400

Invalid request.

403

You are not authorized to perform this action.

404

The requested resource could not be found.

500

Internal server error.

post/v1/businesses/{business_id}/accounts/{account_id}/reference_accounts
Request samples
application/json
{
  • "name": "account_holder_unique_ref",
  • "iban": "DE32110101001000000029",
  • "mandate_number": "example-mandate-number",
  • "mandate_signature_date": "2020-01-08",
  • "mandate_type": "Core"
}
Response samples
application/json
{
  • "id": "ee4cc80bee604de09d036d8b7a9b6cb0",
  • "status": "ACTIVE",
  • "name": "Max Mustermann",
  • "iban": "DE32110101001000000029",
  • "mandate_number": "example-mandate-number",
  • "mandate_signature_date": "2020-01-08",
  • "mandate_type": "Core"
}

Create reference account for a person

Adds an external bank account as a reference account to the person's Solaris account specified in the request URL.
Note: Before calling this endpoint, you must create a SEPA Direct Debit mandate for your customer and have them sign it.

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

The content of the request.

name
string

The name of the external account holder.

iban
string

IBAN of the reference account.

mandate_number
string

The identifier of the SDD mandate that the customer signed.

mandate_signature_date
string <date>

The date when the customer signed the SDD mandate.

Responses
201

The operation was successful.

400

Invalid request.

403

You are not authorized to perform this action.

404

The requested resource could not be found.

500

Internal server error.

post/v1/persons/{person_id}/accounts/{account_id}/reference_accounts
Request samples
application/json
{
  • "name": "account_holder_unique_ref",
  • "iban": "DE32110101001000000029",
  • "mandate_number": "example-mandate-number",
  • "mandate_signature_date": "2020-01-08"
}
Response samples
application/json
{
  • "id": "ee4cc80bee604de09d036d8b7a9b6cb0",
  • "status": "ACTIVE",
  • "name": "Max Mustermann",
  • "iban": "DE32110101001000000029",
  • "mandate_number": "example-mandate-number",
  • "mandate_signature_date": "2020-01-08"
}

Index reference accounts for a person

Returns an array containing all reference accounts associated with the person's Solaris account specified in the request URL.

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

The number of results pages to return.

page[size]
string

The number of results to return in each page.

filter[iban]
string

Filter the results by IBAN.

filter[status]
string

Filter the results by account status.

Enum: "ACTIVE" "INACTIVE"
Responses
200

The operation was successful.

400

Invalid request.

403

You are not authorized to perform this action.

404

The requested resource could not be found.

500

Internal server error.

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

Index rejected incoming transactions

Returns an array containing all incoming transactions to the account specified in the request URL that Solaris rejected/returned.

Request
Security:
path Parameters
account_id
required
string
query Parameters
page[number]
integer >= 1
Default: 1

The number of results pages to return.

page[size]
integer
Default: 10

The size of each page of results.

Responses
200

The operation was successful.

400

An error occurred on the client side.

403

You are not authorized to perform this action.

404

The account could not be found.

500

Internal server error.

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

Account closure requests

Initiate account closure request

Creates an account closure request for the specified account. See the account closure guide for more information about this process and the associated stages.

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

ID of the account to be closed.

closure_reason
required
string

The reason for the account closure.

Enum: "ACCOUNT_REVOCATION" "CUSTOMER_WISH" "PARTNER_SERVICE_ACCOUNT_TERMINATED" "RELATIONSHIP_TERMINATION"
Responses
200

The operation was successful (idempotency).

201

The account closure request was successfully initiated.

400

An error occurred on the client side.

500

Internal server error.

post/v1/account_closure_requests
Request samples
application/json
{
  • "account_id": "5526853938474f3e92b22a03ea57a544cacc",
  • "closure_reason": "CUSTOMER_WISH"
}
Response samples
application/json
{
  • "id": "f8d7fbbd587047a0aa449ce69d2d6c08acrq",
  • "closure_reason": "COMPLIANCE_IMMEDIATE_INTERNAL",
  • "status": "IN_PROGRESS",
  • "account_id": "5526853938474f3e92b22a03ea57a544cacc",
  • "technical_closure_date": "2021-10-11",
  • "legal_closure_date": "2021-10-11",
  • "payout_allowed": "false",
  • "updated_at": "2021-12-22T15:05:33.634+00:00"
}

List all account closure requests

Returns an array containing all account closure requests.

Request
Security:
query Parameters
filter[account_id]
string

Filter the response by account ID.

filter[status]
string (status_enum)

Filter the response by the status of the ACR.

Enum: "INITIATED" "CONFIRMED" "IN_PROGRESS" "COMPLETED" "FAILED" "REVOKED"
Example: filter[status]=IN_PROGRESS
filter[legal_closure_date][min]
string

Filter the response by legal closure date (min border).

filter[legal_closure_date][max]
string

Filter the response by legal closure date (max border).

sort
string

Sort the returned ACRs by legal_closure_date or created_at.

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

Determines the size of each page of results.

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/account_closure_requests
Request samples
curl -i -X GET \
  'https://api.solaris-sandbox.de/v1/account_closure_requests?filter%5Baccount_id%5D=string&filter%5Bstatus%5D=IN_PROGRESS&filter%5Blegal_closure_date%5D%5Bmin%5D=string&filter%5Blegal_closure_date%5D%5Bmax%5D=string&sort=string&page%5Bsize%5D=10&page%5Bnumber%5D=1'
Response samples
application/json
[
  • {
    }
]

Get a single account closure request

Retrieves information about a specific account closure request, specified in the request URL.

Request
Security:
path Parameters
id
required
string

ID of the account closure request to query.

Responses
200

The operation was successful.

400

An error occurred on the client side.

404

The account closure request could not be found.

500

Internal server error.

get/v1/account_closure_requests/{id}
Request samples
curl -i -X GET \
  'https://api.solaris-sandbox.de/v1/account_closure_requests/{id}'
Response samples
application/json
{
  • "id": "f8d7fbbd587047a0aa449ce69d2d6c08acrq",
  • "closure_reason": "COMPLIANCE_IMMEDIATE_INTERNAL",
  • "status": "IN_PROGRESS",
  • "account_id": "5526853938474f3e92b22a03ea57a544cacc",
  • "technical_closure_date": "2021-10-11",
  • "legal_closure_date": "2021-10-11",
  • "payout_allowed": "false",
  • "updated_at": "2021-12-22T15:05:33.634+00:00"
}

Reservations

Index reservations on an account

Returns an array containing all outstanding reservations on the account specified in the request URL. The API will not return reservations that have been applied or revoked.

Request
Security:
path Parameters
account_id
required
string

Unique identifier of a customer's account.

Example: e48c29b85992b8772eb7ddd518490920cacc
Responses
200

Successfully fetched the reservations.

400

Invalid parameters provided.

404

The account could not be found.

get/v1/accounts/{account_id}/reservations
Request samples
curl -i -X GET \
  'https://api.solaris-sandbox.de/v1/accounts/{account_id}/reservations'
Response samples
application/json
[
  • {
    }
]

Seizures

Index seizures for a person

Returns an array containing all seizures for the person specified in the request URL. Note that the amount of a seizure always reflects the total amount of the seizure, even if part of it has been paid. It does not reflect the outstanding amount of the seizure.

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.

sort
string

Sort the results by the date when the seizure was created.

Value: "created_at"
filter[status]
string

Filter the results by seizure status.

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}/seizures
Request samples
curl -i -X GET \
  'https://api.solaris-sandbox.de/v1/persons/{person_id}/seizures?page%5Bnumber%5D=string&page%5Bsize%5D=string&sort=created_at&filter%5Bstatus%5D=string'
Response samples
application/json
[
  • {
    }
]

Index seizures for a business

Returns an array containing all active seizures related to the given business. Note that the amount of a seizure always reflects the total amount of the seizure, even if part of it has been paid. It does not reflect the outstanding amount of the seizure.

Request
Security:
path Parameters
business_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.

sort
string
filter[status]
string

Filter the results by seizure status.

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/businesses/{business_id}/seizures
Request samples
curl -i -X GET \
  'https://api.solaris-sandbox.de/v1/businesses/{business_id}/seizures?page%5Bnumber%5D=string&page%5Bsize%5D=string&sort=string&filter%5Bstatus%5D=string'
Response samples
application/json
[
  • {
    }
]

Bank statements

Create a bank statement for an account

Generates a bank statement for the account specified in the request URL. You must provide a start_date and an end_date. The API will return all bookings with a valuta_date that falls on and between these two dates. You may set the start_date to a date before the account was opened, but do not provide this option to your customers in your frontend.
Note: This request is idempotent. If you attempt multiple requests with the same start_date and end_date, then the API will return a 200 response with the data produced by the original request.

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

The content of the request.

start_date
required
string <date>

The starting date from which to return bookings for the account.

end_date
required
string <date>

The ending date for the bank statement. Must be a later date than the start_date.

Responses
200

The statement has already been created for the given dates.

201

The operation was successful.

400

An error occurred on the client side.

403

You are not authorized to perform this action.

404

The resource could not be found.

500

Internal server error.

post/v1/accounts/{account_id}/bank_statements
Request samples
application/json
{
  • "start_date": "2016-05-24",
  • "end_date": "2016-05-31"
}
Response samples
application/json
{
  • "id": "4463f72f46cc9233c5494146f01b152ccsas",
  • "recipient_information": {
    },
  • "issue_date": "2022-04-01",
  • "statement_period_start_date": "2022-03-01",
  • "statement_period_end_date": "2022-03-31",
  • "account_information": {
    },
  • "disclaimer": "Sehr geehrte Kundin, sehr geehrter Kunde,\\nbitte prüfen Sie die Buchungen, Berechnungen und den Abschlusssaldo im beiliegenden Kontoauszug, der zugleich einen Rechnungsabschluss darstellt. Rechnungsabschlüsse gelten als genehmigt, sofern Sie innerhalb von sechs Wochen nach Zugang keine Einwendungen erheben. Einwendungen gegen Rechnungsabschlüsse müssen der solarisBank schriftlich oder in Textform (z.B. an support@solarisbank.de) zugehen. Im Falle der Einwendung in Textform genügt zur Fristwahrung die rechtzeitige Absendung. Der angegebene Kontostand berücksichtigt nicht die Wertstellung der einzelnen Buchungen. Dies bedeutet, dass der genannte Betrag nicht dem für die Zinsrechnung maßgeblichen Kontostand entsprechen muss und bei Verfügungen möglicherweise Zinsen für die Inanspruchnahme einer eingeräumten oder geduldeten Kontoüberziehung anfallen können. Gutschriften aus eingereichten Lastschriften und anderen Einzugspapieren erfolgen unter dem Vorbehalt der Einlösung. Guthaben sind als Einlagen nach Maßgabe des Einlagensicherungsgesetzes entschädigungsfähig. Nähere Informationen können dem Informationsbogen für den Einleger entnommen werden, den Sie gemeinsam mit unseren für den Geschäftsverkehr mit Ihnen geltenden Allgemeinen Geschäftsbedingungen und besonderen Bedingungen unter www.solarisbank.de/partner einsehen können.\\nMit freundlichen Grüßen\\nIhre solarisBank"
}

Index bookings for a bank statement

Returns an array containing all bookings that are contained within the account statement specified in the request URL.

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

Returns a specific page of results.

page[size];
string

Determines the size of each page of results.

Responses
200

The operation was successful.

400

An error occurred on the client side.

403

You are not authorized to perform this action.

404

The resource could not be found.

500

Internal server error.

get/v1/accounts/{account_id}/bank_statements/{statement_id}/bookings
Request samples
curl -i -X GET \
  'https://api.solaris-sandbox.de/v1/accounts/{account_id}/bank_statements/{statement_id}/bookings?page%5Bnumber%5D=string&page%5Bsize%5D%3B=string'
Response samples
application/json
[
  • {
    }
]

Statements of account

Create a statement of account

Creates a statement of account (Rechnungsabschluss) for the account specified in the request URL. Use the information returned in the response to generate your own branded PDF file to present to the customer. This file must include the entire data set returned by our API without exception, including the mandatory disclaimer text.
In the request, you must specify a year along with an interval and a period. Together, the interval and period determine the statement's beginning and end dates (statement_period_start_date and statement_period_end_date). For example, if you make a request with an interval of MONTHLY, a period of 3, and a year of 2022, then the API will return a statement of account for the month of March 2022. If the API returns an error related to the start and end dates, then the interval and period could not be translated into dates (e.g., an invalid enum was passed) or the given interval fell outside of the allowed time frame (e.g., in the future).

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

The content of the request.

interval
required
string

Determines the amount of time that the statement of account should cover.

Enum: "MONTHLY" "QUARTERLY" "EVERY_SIX_MONTHS" "ANNUALLY"
period
required
integer

Determines the starting period in the year from which to return bookings.

Enum: 1 2 3 4 5 6 7 8 9 10 11 12
year
required
integer

The year for which to create the statement of account.

Responses
200

A statement for account has already been created based on the provided values.

201

The operation was successful.

400

An error occurred on the client side.

403

You are not authorized to perform this action.

404

The resource could not be found.

500

Internal server error.

post/v1/accounts/{account_id}/statement_of_accounts
Request samples
application/json
{
  • "interval": "MONTHLY",
  • "period": 3,
  • "year": 2022
}
Response samples
application/json
{
  • "id": "e349cdc6b712035236bed32d7399ab72csoa",
  • "year": 2022,
  • "interval": "MONTHLY",
  • "period": 3,
  • "statement_number": "2022-M-03",
  • "recipient_information": {
    },
  • "issue_date": "2022-04-01",
  • "statement_period_start_date": "2022-03-01",
  • "statement_period_end_date": "2022-03-31",
  • "account_information": {
    },
  • "disclaimer": "Sehr geehrte Kundin, sehr geehrter Kunde,\\nbitte prüfen Sie die Buchungen, Berechnungen und den Abschlusssaldo im beiliegenden Kontoauszug, der zugleich einen Rechnungsabschluss darstellt. Rechnungsabschlüsse gelten als genehmigt, sofern Sie innerhalb von sechs Wochen nach Zugang keine Einwendungen erheben. Einwendungen gegen Rechnungsabschlüsse müssen der solarisBank schriftlich oder in Textform (z.B. an support@solarisgroup.com) zugehen. Im Falle der Einwendung in Textform genügt zur Fristwahrung die rechtzeitige Absendung. Der angegebene Kontostand berücksichtigt nicht die Wertstellung der einzelnen Buchungen. Dies bedeutet, dass der genannte Betrag nicht dem für die Zinsrechnung maßgeblichen Kontostand entsprechen muss und bei Verfügungen möglicherweise Zinsen für die Inanspruchnahme einer eingeräumten oder geduldeten Kontoüberziehung anfallen können. Gutschriften aus eingereichten Lastschriften und anderen Einzugspapieren erfolgen unter dem Vorbehalt der Einlösung. Guthaben sind als Einlagen nach Maßgabe des Einlagensicherungsgesetzes entschädigungsfähig. Nähere Informationen können dem Informationsbogen für den Einleger entnommen werden, den Sie gemeinsam mit unseren für den Geschäftsverkehr mit Ihnen geltenden Allgemeinen Geschäftsbedingungen und besonderen Bedingungen unter www.solarisbank.de/partner einsehen können.\\nMit freundlichen Grüßen\\nIhre solarisBank"
}

Index bookings within a statement of account

Returns an array of all bookings with a valuta_date that falls between the start and end dates of the account statement specified in the request URL.

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

Returns a specific page of results.

page[size];
string

Determines the size of each page of results.

Responses
200

The operation was successful.

400

An error occurred on the client side.

403

You are not authorized to perform this action.

404

The resource could not be found.

500

Internal server error.

get/v1/accounts/{account_id}/statement_of_accounts/{statement_id}/bookings
Request samples
curl -i -X GET \
  'https://api.solaris-sandbox.de/v1/accounts/{account_id}/statement_of_accounts/{statement_id}/bookings?page%5Bnumber%5D=string&page%5Bsize%5D%3B=string'
Response samples
application/json
[
  • {
    }
]

(Italy only) Index fees for a statement of account

Returns a list of fees associated with a statement of account. The API returns the type of fee (described in the table below) in the name property of each fee, along with the amount (in EUR cents). The count property indicates the number of times that the given fee was charged.
Note: This endpoint is only relevant for customers with an Italian branch bank account.

name value English description Italian description
InterestOverdraft Interest fee for overdraft Interessi debitori (utilizzo intrafido)
InterestOverdraftExceeded Interest fee for overdraft exceeded Interessi debitori (utilizzo extrafido)
InterestExcessDeposit Negative interest Spese di scritturazione contabile
CorrectionInterestExcessDeposit Correction negative interest Rettifica addebito interessi
InterestFixedTermDeposits Interest credit Interessi creditori
ChargeSEPADirectDebitReturn Charge for SEPA Direct Debit return Spese per la restituzione addebito diretto SEPA
ChargeDunning Fee for dunning letter Spese di invio messa in mora
ChargeRecallRequest Fee for transaction recall Revoca operazioni
ChargeCard Issuing of cards Costi di emissione carta
ChargeAccountMaintenance Account maintenance fee Costi di tenuta del conto
ChargeATM Cash withdrawal Prelievo contanti

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

The operation was successful.

400

An error occurred on the client side.

403

You are not authorized to perform this action.

404

The resource could not be found.

500

Internal server error.

get/v1/accounts/{account_id}/statement_of_accounts/{statement_id}/fees
Request samples
curl -i -X GET \
  'https://api.solaris-sandbox.de/v1/accounts/{account_id}/statement_of_accounts/{statement_id}/fees'
Response samples
application/json
[
  • {
    }
]

Person messages

Index messages for a person's account

Returns an array containing all messages sent to the person specified in the request URL regarding the given account.

Request
Security:
path Parameters
person_id
required
string
account_id
required
string
query Parameters
page[size]
integer
Default: 10

Specifies the number of entries to include in each results page.

page[number]
integer
Default: 1

Specifies the number of results pages to return.

Responses
200

Successful result of the operation.

403

You are not authorized to perform this action.

404

An entity in the request URL could not be found.

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

Index messages for a person

Returns an array containing all messages sent to the person specified in the request URL.

Request
Security:
path Parameters
person_id
required
string
query Parameters
page[size]
integer
Default: 10

Specifies the number of entries to include in each results page.

page[number]
integer
Default: 1

Specifies the number of results pages to return.

Responses
200

Successful result of the operation.

403

You are not authorized to perform this action.

404

An entity in the request URL could not be found.

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

Return a message for a person

Returns a specific message for the person specified in the request URL.

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

Successful result of the operation.

403

You are not authorized to perform this action.

404

An entity in the request URL could not be found.

get/v1/persons/{person_id}/messages/{id}
Request samples
curl -i -X GET \
  'https://api.solaris-sandbox.de/v1/persons/{person_id}/messages/{id}'
Response samples
application/json
{
  • "id": "f4ed772c970e1096a73d9418192a2d0camsg",
  • "account_id": "c2a13abed3b0686ab5343aa748d7f2fecacc",
  • "title": "Ihre Samsung Pay Bezahlung",
  • "text": "string",
  • "required_notification_channel": "any",
  • "created_at": "2022-06-20T19:02:49Z"
}

Retrieve a message for a person

Returns a specific message for a person regarding the given account as specified in the request URL.

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

Successful result of the operation.

403

You are not authorized to perform this action.

404

An entity in the request URL could not be found.

get/v1/persons/{person_id}/accounts/{account_id}/messages/{id}
Request samples
curl -i -X GET \
  'https://api.solaris-sandbox.de/v1/persons/{person_id}/accounts/{account_id}/messages/{id}'
Response samples
application/json
{
  • "id": "f4ed772c970e1096a73d9418192a2d0camsg",
  • "account_id": "c2a13abed3b0686ab5343aa748d7f2fecacc",
  • "title": "Ihre Samsung Pay Bezahlung",
  • "text": "string",
  • "required_notification_channel": "any",
  • "created_at": "2022-06-20T19:02:49Z"
}

Business messages

Index messages for a business

Returns an array containing all messages sent to the business specified in the request URL regarding the given account.

Request
Security:
path Parameters
business_id
required
string
account_id
required
string
query Parameters
page[size]
integer
Default: 10

Specifies the number of entries to include in each results page.

page[number]
integer
Default: 1

Specifies the number of results pages to return.

Responses
200

Successful result of the operation.

403

You are not authorized to perform this action.

404

An entity in the request URL could not be found.

get/v1/businesses/{business_id}/accounts/{account_id}/messages
Request samples
curl -i -X GET \
  'https://api.solaris-sandbox.de/v1/businesses/{business_id}/accounts/{account_id}/messages?page%5Bsize%5D=10&page%5Bnumber%5D=1'
Response samples
application/json
[
  • {
    }
]

Retrieve a message for a business

Returns a specific message for a business as specified in the request URL.

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

Successful result of the operation.

403

You are not authorized to perform this action.

404

An entity in the request URL could not be found.

get/v1/businesses/{business_id}/accounts/{account_id}/messages/{id}
Request samples
curl -i -X GET \
  'https://api.solaris-sandbox.de/v1/businesses/{business_id}/accounts/{account_id}/messages/{id}'
Response samples
application/json
{
  • "id": "f4ed772c970e1096a73d9418192a2d0camsg",
  • "business_id": "567eaf2b22fce21a1920e14e11e2bfa3cbiz",
  • "person_id": "0ba2211cab11af6094d60ead81f2bd9dcper",
  • "account_id": "c2a13abed3b0686ab5343aa748d7f2fecacc",
  • "title": "Ihre Samsung Pay Bezahlung",
  • "text": "string",
  • "required_notification_channel": "any",
  • "created_at": "2022-06-20T19:02:49Z"
}

Trusted IBANs

Add a trusted IBAN

Adds an IBAN as a trusted IBAN to the account specified in the request URL. Transactions to trusted IBANs do not require two-factor authentication.
Note: This endpoint will trigger the change request process. Specify the person_id of an authorized person on the account who will receive the 2FA challenge to confirm the trusted IBAN.

Request
Security:
path Parameters
account_id
required
string

Unique identifier of a customer's account.

Example: e48c29b85992b8772eb7ddd518490920cacc
Request Body schema: application/json
iban
required
string
person_id
required
string
Responses
200

The IBAN was successfully added as a trusted IBAN.

202

The request has been accepted, and now the customer must complete the change request.

400

Invalid request.

500

Internal server error.

post/v1/accounts/{account_id}/trusted_ibans
Request samples
application/json
{
  • "iban": "string",
  • "person_id": "string"
}
Response samples
application/json
{
  • "iban": "string"
}

Index trusted IBANs for an account

Returns an array containing all IBANs added to the given account as trusted IBANs.

Request
Security:
path Parameters
account_id
required
string
query Parameters
filter[approved_by]
string

Filter the results by the person who approved the trusted IBAN creation requests.

filter[iban]
string

Filter the results by IBAN.

sort
string

Sort the results by the date and time when the trusted IBAN was created.

Example: sort=created_at
page[size]
integer [ 1 .. 1000 ]
Default: 10

Specifies the number of entries to return on each page.

page[number]
integer >= 1
Default: 1

Specifies the number of pages of results to return.

Responses
200

Successful result of the operation.

400

Invalid request.

500

Internal server error.

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

Delete trusted IBAN

Deletes the trusted IBAN specified in the request URL. Please note the following:

  1. You must submit the person_id of the person who added this trusted IBAN as a query parameter in this request.
  2. This endpoint will trigger the change request process.

Request
Security:
path Parameters
account_id
required
string

Unique identifier of a customer's account.

Example: e48c29b85992b8772eb7ddd518490920cacc
trusted_iban_id
required
string

ID of the trusted IBAN to delete.

query Parameters
person_id
required
string

ID of the person who added the trusted IBAN to the account.

Responses
202

The trusted IBAN was successfully deleted.

204

The trusted IBAN has already been deleted.

400

Invalid request.

500

Internal server error.

delete/v1/accounts/{account_id}/trusted_ibans/{trusted_iban_id}
Request samples
curl -i -X DELETE \
  'https://api.solaris-sandbox.de/v1/accounts/{account_id}/trusted_ibans/{trusted_iban_id}?person_id=string'
Response samples
application/json
{}

Virtual IBANs

List virtual IBANs

Returns all virtual IBANs bound to the account specified in the request.

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

The specific results page to return. See the pagination docs for more details.

page[size]
string

The size of the results page to return. See the pagination docs for more details.

filter[virtual_iban]
string

Filters the response for a specific virtual IBAN.

filter[state]
string

Filters the response for virtual IBANs based on their state (ACTIVE or INACTIVE).

Responses
200

Successful result of the operation.

403

You are not authorized to perform this action.

404

The account with the given ID could not be found.

500

Internal server error.

get/v1/accounts/{account_id}/virtual_ibans
Request samples
curl -i -X GET \
  'https://api.solaris-sandbox.de/v1/accounts/{account_id}/virtual_ibans?page%5Bnumber%5D=string&page%5Bsize%5D=string&filter%5Bvirtual_iban%5D=string&filter%5Bstate%5D=string'

Create virtual IBAN

Creates a new virtual IBAN and attaches it to the account specified in the request.

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

Customer data related to the issued Virtual IBAN. Optional if partner configuration allows issuing vIBANs without customer.

reference
required
string <uuid>

Partners must generate a reference for the vIBAN and supply it in this property. This property acts as an idempotency key and must be unique.

description
string

A description of the vIBAN. Visible to the customer.

Responses
200

The virtual IBAN was already created.

201

The virtual IBAN was created successfully.

400

An error occurred on the client side.

403

You are not authorized to perform this action.

500

Internal server error.

post/v1/accounts/{account_id}/virtual_ibans
Request samples
application/json
{
  • "customer_id": "12312312cus",
  • "reference": "f3757e7e-57ec-4e07-a3f1-7a5d1e412be7",
  • "description": "Example description"
}

Disable virtual IBAN

Changes the state of the virtual IBAN in the request URL to DISABLED.

Request
Security:
path Parameters
account_id
required
string
virtual_iban_id
required
string
Responses
202

The virtual IBAN was successfully disabled.

400

An error occurred on the client side.

403

You are not authorized to perform this action.

404

The (Account | Virtual IBAN) with the ID (account_id | virtual_iban_id) could not be found.

500

Internal server error.

patch/v1/accounts/{account_id}/virtual_ibans/{virtual_iban_id}/disable
Request samples
curl -i -X PATCH \
  'https://api.solaris-sandbox.de/v1/accounts/{account_id}/virtual_ibans/{virtual_iban_id}/disable'

Enable virtual IBAN

Changes the state of a previously disabled virtual IBAN to ENABLED.

Request
Security:
path Parameters
account_id
required
string