Transactions (1.0)

Download OpenAPI specification:Download

Cash Operations (Viacash)

Request a cash operation

This method requests the creation of a cash operation barcode for the customer to present at the POS of a participating Viacash retailer. Note that this endpoint requires a change request.
Once the customer confirms the change request, Viafintech processes the request and then the Solaris API returns a payload containing an EAN-13 barcode with an expiration date and a status.
Each person may only have one active (i.e., PENDING/CREATED) cash operation request of each type (payin/payout) at a time.
Ensure that the amount of the cash operation falls within the allowed range and does not exceed any daily limits. See the Viacash documentation for more information about limits.

Request
Security:
path Parameters
person_id
required
string

ID of the person initiating the cash operation. The person must be authorized to perform cash operations on the specified account.

account_id
required
string

ID of the Solaris account which will back the cash operation. The account must be active, must not be in close monitoring, and must have no credit or debit locks.

Request Body schema: application/json
idempotency_key
required
string

Use a randomly-generated UUID to ensure the uniqueness of the cash operation request.

reference
string

End-to-end reference for the customer.

provider
required
string

Must contain the value barzahlen.

Value: "barzahlen"
type
required
string

Indicates whether the cash operation is a PAYOUT (for withdrawals) or a PAYIN (for deposits).

Enum: "PAYIN" "PAYOUT"
required
object

The amount of the cash operation.

Responses
200

Cash operation creation initiated successfully. The customer must confirm the change request.

400

One of the following problems occurred: the person's status is invalid, the account's status is invalid, the cash operation exceeds the daily transfer limit, the customer has too many active cash operations, or the request properties have invalid values.

403

Unauthorized action. See the examples for various scenarios in which the API would return a 403 error for this request.

404

The person or account cannot be found.

429

You have reached a rate limit of maximum created transactions per time period.

500

Internal server error.

post/v1/persons/{person_id}/accounts/{account_id}/cash_operations
Request samples
application/json
{
  • "idempotency_key": "8695a767-2d7b-460b-9c4c-dceb82fb6566",
  • "reference": "de430446-1da7-4adf-b440-be6005b5cf9f",
  • "provider": "barzahlen",
  • "type": "PAYIN",
  • "amount": {
    }
}
Response samples
application/json
{
  • "change_request_id": "de430446-1da7-4adf-b440-be6005b5cf9f",
  • "id": "8695a767-2d7b-460b-9c4c-dceb82fb6566"
}

Retrieve a cash operation

Returns the cash operation specified in the request URL.

Request
Security:
path Parameters
cash_operation_id
required
string

ID of the cash operation.

Responses
200

Cash operation fetched successfully.

400

Invalid request.

403

You are not authorized to perform this action.

404

The cash operation cannot be found.

500

Internal server error.

get/v1/cash_operations/{cash_operation_id}
Request samples
curl -i -X GET \
  'https://api.solaris-sandbox.de/v1/cash_operations/{cash_operation_id}'
Response samples
application/json
{
  • "id": "b56c770a-4ed8-4542-9a51-c4b2c70c09ee",
  • "barcode_ean_13": "4051234567890",
  • "expires_at": "2021-10-21T14:36:58.207Z",
  • "status": "PENDING",
  • "reference_id": "34abaa5a-cd7a-4d1c-80e7-e3d48eb8efef",
  • "person_id": "587d8a5d-20c0-4a2f-852c-361787ac2e28"
}

Cancel a cash operation

Cancels the cash operation specified in the request URL. You can only use this endpoint to cancel cash operations with a status of PENDING or CREATED. This method will trigger the CASH_OPERATION_STATUS_CHANGED webhook.

Request
Security:
path Parameters
cash_operation_id
required
string

ID of the cash operation to cancel.

Responses
202

Cancellation request accepted.

400

The cash operation does not have a status value of PENDING or CREATED and therefore cannot be canceled.

403

You are not authorized to perform this action.

404

The cash operation cannot be found.

500

Internal server error.

delete/v1/cash_operations/{cash_operation_id}
Request samples
curl -i -X DELETE \
  'https://api.solaris-sandbox.de/v1/cash_operations/{cash_operation_id}'
Response samples
application/json

The cash operation does not have a status value of PENDING or CREATED and therefore cannot be canceled.

{
  • "errors": [
    ]
}

(Sandbox only) Test cash operation process

This endpoint allows you to manually update the status of a cash operation. You may only use this endpoint on Sandbox. You may only use this endpoint on cash operations with a status of CREATED, and you may only supply the values PAID, CANCELED, or EXPIRED.

Request
Security:
path Parameters
cash_operation_id
required
string

ID of the cash operation.

Request Body schema: application/json
status
required
string

The status to apply to the cash operation.

Enum: "PAID" "EXPIRED" "CANCELLED"
Responses
204

Cash operation patched successfully.

400

The cash operation does not have a status value of CREATED and therefore cannot be updated.

404

The cash operation cannot be found.

500

Internal server error.

patch/v1/cash_operations/{cash_operation_id}
Request samples
application/json
{
  • "status": "PAID"
}
Response samples
application/json

The cash operation does not have a status value of CREATED and therefore cannot be updated.

{
  • "errors": [
    ]
}

List all cash operations for an account

Returns a paginated list of all associated with the customer account specified in the request URL.

Request
Security:
path Parameters
account_id
required
string

ID of the account whose cash operations should be returned.

query Parameters
filter[status]
string

Filter the results by the status of the cash operation.

Enum: "PENDING" "CREATED" "PAID" "EXPIRED" "CANCELLED"
page[number]
integer
Default: 1

The number of results pages to return.

page[size]
integer
Default: 10

The size of each page in the response.

Responses
200

The operation was successful.

400

Invalid request.

403

You are not authorized to perform this action.

404

The account cannot be found.

500

Internal server error.

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

Clearing transactions

Index clearing profiles

Returns an array containing all clearing profiles under your control.

Request
Security:
header Parameters
Solaris-Partner-Id
required
string

Your partner ID.

Responses
200

Successful result of the operation

400

Invalid request.

403

You are not authorized to perform this action.

500

Internal server error.

default

Unexpected error

get/v1/clearing_profiles
Request samples
curl -i -X GET \
  https://api.solaris-sandbox.de/v1/clearing_profiles \
  -H 'Solaris-Partner-Id: string'
Response samples
application/json
[
  • {
    }
]

Create credit clearing transaction on an account

Creates a credit clearing transaction on the account specified in the request URL. This will result in outgoing funds for the account.

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

The content of the request.

required
object

The amount to withdraw from the account.

booking_type
required
string (Solaris-Server-Decorators-BookingTypeEnum)

The type of the booking.

Enum: "B2C_CRYPTO_EXCHANGE_BTC" "B2C_CRYPTO_EXCHANGE_ETH" "B2C_SAVING_POTS_FGP" "B2C_SAVING_POTS_PFT" "B2C_SAVING_POTS_PVP" "BOOSTER_PACKAGE" "CARD_DIRECT_DEBIT" "CARD_DIRECT_DEBIT_RETURN" "CARD_DIRECT_DEBIT_RETURN_CHARGE" "CARD_DIRECT_DEBIT_RETURN_FEE" "CARD_DIRECT_DEBIT_RETURN_PROCESSING_FEE" "CARD_TRANSACTION" "CASH_DEPOSIT_RETAIL_FEE" "CASH_WITHDRAWAL_RETAIL_FEE" "CHARGE_ACCOUNT_MAINTENANCE" "CHARGE_ATM" "CHARGE_ATM_FOREIGN_CURRENCY" "CHARGE_CARD" "CHARGE_CARD_DELIVERY" "CHARGE_CRYPTO_EXCHANGE" "CORRECTION_CRYPTO_BROKERAGE" "CRYPTO_BROKERAGE" "CRYPTO_EXCHANGE" "CURRENCY_EXCHANGE" "CURRENCY_EXCHANGE_PARTNER" "CURRENCY_EXCHANGE_PARTNER_RETURN" "CURRENCY_TRANSFER" "DIRECT_DEBIT" "EMONEY_CARD_SETTLEMENT" "EMONEY_PAYIN" "EMONEY_PAYOUT" "EMONEY_TRANSFER" "INTERNAL_CLAIM_CLEARING" "INTERNAL_TRANSFER" "INTRA_CUSTOMER_CURRENCY_TRANSFER" "INTRA_CUSTOMER_TRANSFER" "LOAN_PAYOUT" "PREPAID_CARD_SETTLEMENT" "SECURITY_PURCHASE" "SECURITY_SALE" "SEPA_CREDIT_TRANSFER" "SEPA_CREDIT_TRANSFER_RETURN" "SEPA_DIRECT_DEBIT" "SEPA_DIRECT_DEBIT_RETURN" "VERIFICATION_CODE"
description
string

A description for the credit clearing transaction, which will be visible to the account holder.

clearing_profile_id
required
string

ID of the clearing profile to use for the clearing transaction.

reference
string

Optional unique transaction reference.

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

post/v1/accounts/{account_id}/credit_clearing_transactions
Request samples
application/json
{
  • "amount": {
    },
  • "booking_type": "INTERNAL_TRANSFER",
  • "description": "Example clearing transaction",
  • "clearing_profile_id": "1c0eda0b559825ef456b21d81f4ee962pacp",
  • "reference": "ert123456789ert"
}
Response samples
application/json
{
  • "id": "3f4e761f500e4c11a6627b4d90daaec4",
  • "status": "EXECUTED",
  • "account_id": "06659ff514934b28800b5650d109cacc",
  • "account_iban": "DE43110101005555555555",
  • "clearing_account_iban": "DE30110101001234567890",
  • "amount": {
    },
  • "description": "Example description",
  • "booking_type": "B2C_CRYPTO_EXCHANGE_BTC",
  • "valuta_date": "2022-04-22",
  • "transaction_type": "CLEARING_TRANSACTION",
  • "reference": "2603037c-e264-46c4-82e8-0d3ebc23a30f"
}

Create debit clearing transactions on an account

More details on debit clearing transactions

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

The content of the request.

required
object

Amount

booking_type
required
string

Booking type

description
string

Description

clearing_profile_id
required
string

Id of the clearing profile to use for clearing transaction

reference
string

A unique transaction reference

Responses
200

Successful result of the operation

default

Unexpected error

post/v1/accounts/{account_id}/debit_clearing_transactions
Request samples
application/json
{
  • "amount": {
    },
  • "booking_type": "INTEREST_ACCRUED",
  • "description": "Example clearing transaction",
  • "clearing_profile_id": "1c0eda0b559825ef456b21d81f4ee962pacp",
  • "reference": "ert123456789ert"
}
Response samples
application/json
{
  • "id": "3f4e761f500e4c11a6627b4d90daaec4",
  • "status": "EXECUTED",
  • "account_id": "06659ff514934b28800b5650d109cacc",
  • "account_iban": "DE43110101005555555555",
  • "clearing_account_iban": "DE30110101001234567890",
  • "amount": {
    },
  • "description": "Example description",
  • "booking_type": "B2C_CRYPTO_EXCHANGE_BTC",
  • "valuta_date": "2022-04-22",
  • "transaction_type": "CLEARING_TRANSACTION",
  • "reference": "2603037c-e264-46c4-82e8-0d3ebc23a30f"
}

Get a clearing transaction

Returns the clearing transaction specified in the request URL.

Request
Security:
path Parameters
account_id
required
string
clearing_transaction_id
required
string
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/accounts/{account_id}/clearing_transactions/{clearing_transaction_id}
Request samples
curl -i -X GET \
  'https://api.solaris-sandbox.de/v1/accounts/{account_id}/clearing_transactions/{clearing_transaction_id}'
Response samples
application/json
{
  • "id": "3f4e761f500e4c11a6627b4d90daaec4",
  • "status": "EXECUTED",
  • "account_id": "06659ff514934b28800b5650d109cacc",
  • "account_iban": "DE43110101005555555555",
  • "clearing_account_iban": "DE30110101001234567890",
  • "amount": {
    },
  • "description": "Example description",
  • "booking_type": "B2C_CRYPTO_EXCHANGE_BTC",
  • "valuta_date": "2022-04-22",
  • "transaction_type": "CLEARING_TRANSACTION",
  • "reference": "2603037c-e264-46c4-82e8-0d3ebc23a30f"
}

Instant Top-Ups

Create a Top-Up

Creates a Top-Up for the person's account specified in the request URL. Calling this endpoint will begin the payment process with Solaris and its acquiring partner (e.g., Stripe).
Note that you must provide the returned client_secret to the Acquirer's SDK (e.g., the Stripe PaymentIntent).

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

The content of the request.

required
object
payment_method_id
string
Responses
201

The Top-Up was successfully created.

400

There was an error on the client side.

403

You are not authorized to perform this action.

404

The model could not be found.

500

Internal server error.

post/v1/persons/{person_id}/accounts/{account_id}/topups
Request samples
application/json
{
  • "amount": {
    },
  • "payment_method_id": "string"
}
Response samples
application/json
{
  • "id": "b76cdcc321d345618084feedc47bbb1d",
  • "amount": {
    },
  • "acquirer_error_code": null,
  • "acquirer_decline_code": null,
  • "cancellation_reason": "abandoned",
  • "decline_reason": null,
  • "client_secret": "pi_1DrPlP2eZvKYlo2CSBQ7uqFH_secret_o1A7UsYFLWeGISUD1QYNkT8IU",
  • "status": "EXECUTED",
  • "instruction_id": "3eba1ee2d8bc4d5883d350031a5fe9d8"
}

Index Top-Ups for a person's account

Returns an array containing all Top-Ups for the person's account specified in the request URL.

Request
Security:
path Parameters
person_id
required
string
account_id
required
string
query Parameters
filter[status]
string (TopupStatusValues)

Filter the results by the status of the Top-Up.

Enum: "ACCEPTED" "CONFIRMED" "EXECUTED" "DECLINED" "CANCELLED"
Example: filter[status]=EXECUTED
Responses
200

The operation was successful.

400

There was an error on the client side.

403

You are not authorized to perform this action.

500

Internal server error.

get/v1/persons/{person_id}/accounts/{account_id}/topups
Request samples
curl -i -X GET \
  'https://api.solaris-sandbox.de/v1/persons/{person_id}/accounts/{account_id}/topups?filter%5Bstatus%5D=EXECUTED'
Response samples
application/json
[
  • {
    }
]

Retrieve a Top-Up

Returns the Top-Up with the ID specified in the request URL.

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

The Top-Up was found.

403

You are not authorized to perform this action.

404

The model could not be found.

500

Internal server error.

get/v1/persons/{person_id}/accounts/{account_id}/topups/{topup_id}
Request samples
curl -i -X GET \
  'https://api.solaris-sandbox.de/v1/persons/{person_id}/accounts/{account_id}/topups/{topup_id}'
Response samples
application/json
{
  • "id": "b76cdcc321d345618084feedc47bbb1d",
  • "amount": {
    },
  • "acquirer_error_code": null,
  • "acquirer_decline_code": null,
  • "cancellation_reason": "abandoned",
  • "decline_reason": null,
  • "client_secret": "pi_1DrPlP2eZvKYlo2CSBQ7uqFH_secret_o1A7UsYFLWeGISUD1QYNkT8IU",
  • "status": "EXECUTED",
  • "instruction_id": "3eba1ee2d8bc4d5883d350031a5fe9d8"
}

Cancel a Top-Up

Cancels the Top-Up specified in the request URL. Specify the reason for the cancellation in the request body.

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

The content of the request.

cancellation_reason
required
string

The reason for cancellation.

Enum: "duplicate" "fraudulent" "requested_by_customer" "abandoned"
Responses
200

The Top-Up was cancelled.

400

There was an error on the client side.

403

You are not authorized to perform this action.

404

The model could not be found.

500

Internal server error.

post/v1/persons/{person_id}/accounts/{account_id}/topups/{topup_id}/cancel
Request samples
application/json
{
  • "cancellation_reason": "abandoned"
}
Response samples
application/json
{
  • "id": "b76cdcc321d345618084feedc47bbb1d",
  • "amount": {
    },
  • "acquirer_error_code": null,
  • "acquirer_decline_code": null,
  • "cancellation_reason": "abandoned",
  • "decline_reason": null,
  • "client_secret": "pi_1DrPlP2eZvKYlo2CSBQ7uqFH_secret_o1A7UsYFLWeGISUD1QYNkT8IU",
  • "status": "EXECUTED",
  • "instruction_id": "3eba1ee2d8bc4d5883d350031a5fe9d8"
}

Instant Top-Up Payment Methods

Index payment methods for a person

Returns an array containing all payment methods that have been stored for the person specified in the request URL.

Request
Security:
path Parameters
person_id
required
string
Responses
200

The operation was successful.

400

There was an error on the client side.

403

You are not authorized to perform this action.

404

The model could not be found.

500

Internal server error.

get/v1/persons/{person_id}/topups/payment_methods
Request samples
curl -i -X GET \
  'https://api.solaris-sandbox.de/v1/persons/{person_id}/topups/payment_methods'
Response samples
application/json
[
  • {
    }
]

Delete a payment method

Deletes the payment method with the ID specified in the request URL.

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

The operation was successful.

400

There was an error on the client side.

403

You are not authorized to perform this action.

404

The model could not be found.

500

Internal server error.

delete/v1/persons/{person_id}/topups/payment_methods/{payment_method_id}
Request samples
curl -i -X DELETE \
  'https://api.solaris-sandbox.de/v1/persons/{person_id}/topups/payment_methods/{payment_method_id}'
Response samples
application/json
{
  • "payment_method_id": "53165f2b3a8846bd9fd344342a6093d6"
}

Intra-customer transfers

Create intra-customer transfer

Initiates a transaction between the main- and sub-account of a single customer. This transaction does not require a change request. Both the account owner and any authorized person on the account may initiate this type of transaction.

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

UUID reference for the transaction. Used as an idempotency key.

recipient_iban
required
string

The recipient account's IBAN. Note that both accounts must belong to the same person.

description
string

A text description for the transfer, which will be visible to the customer.

required
object

The amount to transfer.

Responses
200

This transaction already exists.

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/{account_id}/transactions/intra_customer_transfer
Request samples
application/json
{
  • "reference": "73a46685-8ac6-4fff-9d36-55288523d879",
  • "recipient_iban": "DE32110101001000000029",
  • "description": "Example transaction",
  • "amount": {
    }
}
Response samples
application/json
{
  • "id": "68df7a63b2ad4a16907eeac2cf484275",
  • "reference": "d91eba3a-882c-4ded-a7e7-3c1dc24eaf0f",
  • "amount": {
    },
  • "description": "Description",
  • "recipient_iban": "DE43110101005555555555",
  • "created_at": "2022-04-22T16:02:54Z"
}

Prepaid accounts

Top up a prepaid card

Tops up a prepaid card by transferring money from an EMONEY_PREPAID_POOLING account to an EMONEY_PREPAID account.

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

The amount to top up the prepaid card.

reference
required
string <uuid>

Optional unique reference. Used as idempotency key.

recipient_iban
required
string

IBAN of the recipient.

description
string

Optional details about the corresponding transaction. Limited to 140 characters.

Responses
200

This transaction already exists.

201

Transaction has been created

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/accounts/{account_id}/transactions/intra_emoney_payin
Request samples
application/json
{
  • "amount": {
    },
  • "recipient_iban": "DE32110101001000000029",
  • "reference": "73a46685-8ac6-4fff-9d36-55288523d879",
  • "description": "TopUp of employee account"
}
Response samples
application/json
{
  • "id": "528ebf2616c54c25b706a425c05ad70f",
  • "reference": "73a46685-8ac6-4fff-9d36-55288523d879",
  • "amount": {
    },
  • "recipient_iban": "DE87110101001000057123",
  • "description": "string",
  • "created_at": "2021-01-01T00:00:00Z"
}

Pay out from prepaid card to prepaid pooling account

Pays out money from a prepaid card by transferring money from an EMONEY_PREPAID account to an EMONEY_PREPAID_POOLING account.

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

The amount to pay out.

reference
required
string <uuid>

Optional unique reference. Used as idempotency key.

recipient_iban
required
string

IBAN of the recipient.

description
string

Optional details about the corresponding transaction. Limited to 140 characters.

Responses
200

This transaction already exists.

201

Transaction has been created

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/accounts/{account_id}/transactions/intra_emoney_payout
Request samples
application/json
{
  • "amount": {
    },
  • "recipient_iban": "DE32110101001000000029",
  • "reference": "73a46685-8ac6-4fff-9d36-55288523d879",
  • "description": "Removing money from employee account"
}
Response samples
application/json
{
  • "id": "528ebf2616c54c25b706a425c05ad70f",
  • "reference": "73a46685-8ac6-4fff-9d36-55288523d879",
  • "amount": {
    },
  • "recipient_iban": "DE87110101001000057123",
  • "description": "string",
  • "created_at": "2021-01-01T00:00:00Z"
}

Create prepaid account credit transfer

Transfers money between an EMONEY_PREPAID_POOLING and an EMONEY_PARKING account.

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

The amount to transfer.

reference
required
string <uuid>

Optional unique reference. Used as idempotency key.

recipient_iban
required
string

IBAN of the recipient.

description
string

Optional details about the corresponding transaction. Limited to 140 characters.

Responses
200

This transaction already exists.

201

Transaction has been created

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/accounts/{account_id}/transactions/intra_emoney_transfer
Request samples
application/json
{
  • "amount": {
    },
  • "recipient_iban": "DE32110101001000000029",
  • "reference": "73a46685-8ac6-4fff-9d36-55288523d879",
  • "description": "TopUp of Employee account"
}
Response samples
application/json
{
  • "id": "528ebf2616c54c25b706a425c05ad70f",
  • "reference": "73a46685-8ac6-4fff-9d36-55288523d879",
  • "amount": {
    },
  • "recipient_iban": "DE87110101001000057123",
  • "description": "string",
  • "created_at": "2021-01-01T00:00:00Z"
}

Partner remittances

Index partner remittances

Returns an array containing all partner remittances for all of your customers.

Request
Security:
query Parameters
page[number]
string

The number of results pages to return.

page[size]
string

The size of each page in the response.

filter[account_id]
string

Filter the results by account ID.

filter[status]
string

Filter the results by remittance status.

Responses
200

Successful result of the operation

400

Invalid request.

403

You are not authorized to perform this action.

500

Internal server error.

default

Unexpected error

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

Create a partner remittance

Creates a partner remittance transaction for the account specified in the request URL. Note that this endpoint requires a change request.

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

The content of the request.

receiver_first_name
string

The receiver's first name.

receiver_last_name
string

The receiver's last name.

object

The receiver's address.

receiver_account_number
string

The receiver's bank account number.

object

The total amount to send in this remittance.

description
string

Optional description of the remittance, which will be visible to the recipient.

clearing_profile_id
string

ID of the clearing profile to use for this transaction.

booking_type
string (Solaris-Server-Decorators-BookingTypeEnum)

The type of the booking.

Enum: "B2C_CRYPTO_EXCHANGE_BTC" "B2C_CRYPTO_EXCHANGE_ETH" "B2C_SAVING_POTS_FGP" "B2C_SAVING_POTS_PFT" "B2C_SAVING_POTS_PVP" "BOOSTER_PACKAGE" "CARD_DIRECT_DEBIT" "CARD_DIRECT_DEBIT_RETURN" "CARD_DIRECT_DEBIT_RETURN_CHARGE" "CARD_DIRECT_DEBIT_RETURN_FEE" "CARD_DIRECT_DEBIT_RETURN_PROCESSING_FEE" "CARD_TRANSACTION" "CASH_DEPOSIT_RETAIL_FEE" "CASH_WITHDRAWAL_RETAIL_FEE" "CHARGE_ACCOUNT_MAINTENANCE" "CHARGE_ATM" "CHARGE_ATM_FOREIGN_CURRENCY" "CHARGE_CARD" "CHARGE_CARD_DELIVERY" "CHARGE_CRYPTO_EXCHANGE" "CORRECTION_CRYPTO_BROKERAGE" "CRYPTO_BROKERAGE" "CRYPTO_EXCHANGE" "CURRENCY_EXCHANGE" "CURRENCY_EXCHANGE_PARTNER" "CURRENCY_EXCHANGE_PARTNER_RETURN" "CURRENCY_TRANSFER" "DIRECT_DEBIT" "EMONEY_CARD_SETTLEMENT" "EMONEY_PAYIN" "EMONEY_PAYOUT" "EMONEY_TRANSFER" "INTERNAL_CLAIM_CLEARING" "INTERNAL_TRANSFER" "INTRA_CUSTOMER_CURRENCY_TRANSFER" "INTRA_CUSTOMER_TRANSFER" "LOAN_PAYOUT" "PREPAID_CARD_SETTLEMENT" "SECURITY_PURCHASE" "SECURITY_SALE" "SEPA_CREDIT_TRANSFER" "SEPA_CREDIT_TRANSFER_RETURN" "SEPA_DIRECT_DEBIT" "SEPA_DIRECT_DEBIT_RETURN" "VERIFICATION_CODE"
reference
string

A unique transaction reference

Responses
default

Unexpected error

post/v1/accounts/{account_id}/partner_remittances
Request samples
application/json
{
  • "receiver_first_name": "Peter",
  • "receiver_last_name": "Testmann",
  • "receiver_address": {
    },
  • "receiver_account_number": "DE72110101001000014344",
  • "amount": {
    },
  • "description": "Purpose of the transaction",
  • "clearing_profile_id": "1c0eda0b559825ef456b21d81f4ee962pacp",
  • "booking_type": "INTERNAL_TRANSFER",
  • "reference": "ert123456789ert"
}

Refund a partner remittance

Initiates the refund process for a partner remittance. Use this endpoint if you cannot credit the recipient's account, e.g., due to the beneficiary account being closed or blocked.
When the refund is completed, you will receive a BOOKING webhook notification for the sender's account, and the status of the partner remittance will change to returned.
Note that you may only use this endpoints on partner remittances with a status of COMPLETED.

Request
Security:
path Parameters
account_id
required
string
partner_remittance_id
required
string
Responses
204

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.

patch/v1/accounts/{account_id}/partner_remittances/{partner_remittance_id}/refund
Request samples
curl -i -X PATCH \
  'https://api.solaris-sandbox.de/v1/accounts/{account_id}/partner_remittances/{partner_remittance_id}/refund'
Response samples
application/json
{
  • "id": "a95f2aaf-4e0c-4d49-8021-8a16a884ed86",
  • "status": "400",
  • "code": "build_pagination_headers_failure",
  • "title": "Failed to build pagination headers.",
  • "details": "Cannot connect to database."
}

Show a partner remittance

Returns the partner remittance specified in the request URL.

Request
Security:
path Parameters
account_id
required
string
partner_remittance_id
required
string
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/accounts/{account_id}/partner_remittances/{partner_remittance_id}
Request samples
curl -i -X GET \
  'https://api.solaris-sandbox.de/v1/accounts/{account_id}/partner_remittances/{partner_remittance_id}'
Response samples
application/json
{
  • "id": "2c7da6c316a34fd1915cb9fb2ccc632e",
  • "receiver_first_name": "Max",
  • "receiver_last_name": "Mustermann",
  • "receiver_address": {
    },
  • "receiver_account_number": "DE72110101001000014344",
  • "amount": {
    },
  • "status": "string",
  • "description": "string",
  • "clearing_profile_id": "1c0eda0b559825ef456b21d81f4ee962pacp",
  • "sender": {
    }
}

Reference account payouts

Initiate payout to a specific person reference account

Initiates a payout to the person reference account specified in the request URL.
Note: Requests to this endpoint must be confirmed using the change request process.

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

The content of the request.

reference
string

A unique reference for the payout. Used as an idempotency key.

end_to_end_id
string

An end-to-end ID for the payout.

description
string

A description for the payout, which is visible to the customer.

object

The amount of the payout.

Responses
201

The operation was successful.

202

The request was accepted, and now the customer must confirm the change request.

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/{reference_account_id}/payouts
Request samples
application/json
{
  • "reference": "payout_unique_ref",
  • "end_to_end_id": "end_to_end_it",
  • "description": "Withdrawl SPAY - DD.MM.YYYY",
  • "amount": {
    }
}
Response samples
application/json
{
  • "id": "4b157d71def54b5c9dac28ef1d04432c",
  • "reference": "9d2b59c2-c68f-413c-b2a9-a2f5bfd3f669",
  • "status": "ACCEPTED",
  • "end_to_end_id": "end_to_end_ref",
  • "description": "Payout description",
  • "reference_account_id": "78f354e508314bb8ac982a3d7f969dde"
}

Index payouts to a specific person reference account

Returns an array containing all payouts made to the particular reference account specified in the request URL.

Request
Security:
path Parameters
person_id
required
string
reference_account_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[status]
string

Filter on status

Enum: "ACCEPTED" "DECLINED" "EXECUTED"
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/{reference_account_id}/payouts
Request samples
curl -i -X GET \
  'https://api.solaris-sandbox.de/v1/persons/{person_id}/accounts/{account_id}/reference_accounts/{reference_account_id}/payouts?page%5Bnumber%5D=string&page%5Bsize%5D=string&filter%5Bstatus%5D=ACCEPTED'
Response samples
application/json
[
  • {
    }
]

Initiate a payout to a business' reference account

Initiates a payout from a business' wallet to the specific reference account specified in the request URL. Requests to this endpoint must be confirmed using the change request process.

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

The content of the request.

reference
string

A unique reference for the payout. Used as an idempotency key.

end_to_end_id
string

An end-to-end ID for the payout.

description
string

A description for the payout, which is visible to the customer.

object

The amount of the payout.

Responses
201

The operation was successful.

202

The request was accepted, and now the customer must confirm the change request.

400

Invalid request.

403

You are not authorized to perform this action.

404

(Business | Account | ReferenceAccount) with (business_id | account_id | reference_account_id) not found

500

Internal server error.

post/v1/businesses/{business_id}/accounts/{account_id}/reference_accounts/{reference_account_id}/payouts
Request samples
application/json
{
  • "reference": "payout_unique_ref",
  • "end_to_end_id": "end_to_end_it",
  • "description": "Withdrawl SPAY - DD.MM.YYYY",
  • "amount": {
    }
}
Response samples
application/json
{
  • "id": "4b157d71def54b5c9dac28ef1d04432c",
  • "reference": "9d2b59c2-c68f-413c-b2a9-a2f5bfd3f669",
  • "status": "ACCEPTED",
  • "end_to_end_id": "end_to_end_ref",
  • "description": "Payout description",
  • "reference_account_id": "78f354e508314bb8ac982a3d7f969dde"
}

Index reference account payouts for a business account

Returns an array containing all reference account payouts for the business account specified in the request URL.

Request
Security:
path Parameters
business_id
required
string
account_id
required
string
reference_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[status]
string

Filter on status

Enum: "ACCEPTED" "DECLINED" "EXECUTED"
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/{reference_account_id}/payouts
Request samples
curl -i -X GET \
  'https://api.solaris-sandbox.de/v1/businesses/{business_id}/accounts/{account_id}/reference_accounts/{reference_account_id}/payouts?page%5Bnumber%5D=string&page%5Bsize%5D=string&filter%5Bstatus%5D=ACCEPTED'
Response samples
application/json
[
  • {
    }
]

Initiate business reference account payout

Initiates a payout from a business' wallet to its associated reference account.
Note: Requests to this endpoint must be confirmed using the change request process.

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

The content of the request.

reference
string

A unique reference for the payout. Used as an idempotency key.

end_to_end_id
string

An end-to-end ID for the payout.

description
string

A description for the payout, which is visible ot the customer.

object

The amount of the payout.

Responses
201

Successful result of the operation.

202

The request was accepted, and the customer must confirm the change request.

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_account_payouts
Request samples
application/json
{
  • "reference": "payout_unique_ref",
  • "end_to_end_id": "end_to_end_id",
  • "description": "Withdrawal SPAY - DD.MM.YYYY",
  • "amount": {
    }
}
Response samples
application/json
{
  • "id": "4b157d71def54b5c9dac28ef1d04432c",
  • "reference": "9d2b59c2-c68f-413c-b2a9-a2f5bfd3f669",
  • "status": "ACCEPTED",
  • "end_to_end_id": "end_to_end_ref",
  • "description": "Payout description",
  • "reference_account_id": "78f354e508314bb8ac982a3d7f969dde"
}

Index business reference account payouts

Returns an array containing all wallet payouts to the business reference 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[status]
string

Filter the results by payout status.

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

Retrieve a business reference account payout

Retrieves the business reference account payout specified in the request URL.

Request
Security:
path Parameters
business_id
required
string
account_id
required
string
id
required
string
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_account_payouts/{id}
Request samples
curl -i -X GET \
  'https://api.solaris-sandbox.de/v1/businesses/{business_id}/accounts/{account_id}/reference_account_payouts/{id}'
Response samples
application/json
{
  • "id": "4b157d71def54b5c9dac28ef1d04432c",
  • "reference": "9d2b59c2-c68f-413c-b2a9-a2f5bfd3f669",
  • "status": "ACCEPTED",
  • "end_to_end_id": "end_to_end_ref",
  • "description": "Payout description",
  • "reference_account_id": "78f354e508314bb8ac982a3d7f969dde"
}

Initiate reference account payout to a person

Initiates a payout from a person's wallet to their reference account.
Note: Requests to this endpoint must be confirmed using the change request process.

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

The content of the request.

reference
string

A unique reference for the payout. Used as an idempotency key.

end_to_end_id
string

An end-to-end ID for the payout.

description
string

A description for the payout, which is visible ot the customer.

object

The amount of the payout.

Responses
201

The operation was successful.

202

The request was accepted, and now the customer must confirm the change request.

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_account_payouts
Request samples
application/json
{
  • "reference": "payout_unique_ref",
  • "end_to_end_id": "end_to_end_id",
  • "description": "Withdrawal SPAY - DD.MM.YYYY",
  • "amount": {
    }
}
Response samples
application/json
{
  • "id": "4b157d71def54b5c9dac28ef1d04432c",
  • "reference": "9d2b59c2-c68f-413c-b2a9-a2f5bfd3f669",
  • "status": "ACCEPTED",
  • "end_to_end_id": "end_to_end_ref",
  • "description": "Payout description",
  • "reference_account_id": "78f354e508314bb8ac982a3d7f969dde"
}

Index reference account payouts to a person

Returns an array containing all payouts to a person's reference account.

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[status]
string

Filter the results by payout status.

Enum: "ACCEPTED" "DECLINED" "EXECUTED"
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_account_payouts
Request samples
curl -i -X GET \
  'https://api.solaris-sandbox.de/v1/persons/{person_id}/accounts/{account_id}/reference_account_payouts?page%5Bnumber%5D=string&page%5Bsize%5D=string&filter%5Bstatus%5D=ACCEPTED'
Response samples
application/json
[
  • {
    }
]

Retrieve a reference account payout to a person

Returns a specific reference account payout to a person based on the ID specified in the request URL.

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

The operation was successful.

400

Invalid request.

403

You are not authorized to perform this action.

404

(Person | Account) with (person_id | account_id) not found

500

Internal server error.

get/v1/persons/{person_id}/accounts/{account_id}/reference_account_payouts/{id}
Request samples
curl -i -X GET \
  'https://api.solaris-sandbox.de/v1/persons/{person_id}/accounts/{account_id}/reference_account_payouts/{id}'
Response samples
application/json
{
  • "id": "4b157d71def54b5c9dac28ef1d04432c",
  • "reference": "9d2b59c2-c68f-413c-b2a9-a2f5bfd3f669",
  • "status": "ACCEPTED",
  • "end_to_end_id": "end_to_end_ref",
  • "description": "Payout description",
  • "reference_account_id": "78f354e508314bb8ac982a3d7f969dde"
}

Retrieve a payout to a person's reference account

Returns a specific payout to a specific reference account.

Request
Security:
path Parameters
person_id
required
string
account_id
required
string
reference_account_id
required
string
id
required
string
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/{reference_account_id}/payouts/{id}
Request samples
curl -i -X GET \
  'https://api.solaris-sandbox.de/v1/persons/{person_id}/accounts/{account_id}/reference_accounts/{reference_account_id}/payouts/{id}'
Response samples
application/json
{
  • "id": "4b157d71def54b5c9dac28ef1d04432c",
  • "reference": "9d2b59c2-c68f-413c-b2a9-a2f5bfd3f669",
  • "status": "ACCEPTED",
  • "end_to_end_id": "end_to_end_ref",
  • "description": "Payout description",
  • "reference_account_id": "78f354e508314bb8ac982a3d7f969dde"
}

Retrieve a payout to a business reference account

Returns a specific payout to a specific reference account.

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

The operation was successful.

400

Invalid request.

403

You are not authorized to perform this action.

404

(Business | Account | ReferenceAccount) with (business_id | account_id | reference_account) not found

500

Internal server error.

get/v1/businesses/{business_id}/accounts/{account_id}/reference_accounts/{reference_account_id}/payouts/{id}
Request samples
curl -i -X GET \
  'https://api.solaris-sandbox.de/v1/businesses/{business_id}/accounts/{account_id}/reference_accounts/{reference_account_id}/payouts/{id}'
Response samples
application/json
{
  • "id": "4b157d71def54b5c9dac28ef1d04432c",
  • "reference": "9d2b59c2-c68f-413c-b2a9-a2f5bfd3f669",
  • "status": "ACCEPTED",
  • "end_to_end_id": "end_to_end_ref",
  • "description": "Payout description",
  • "reference_account_id": "78f354e508314bb8ac982a3d7f969dde"
}

Securities purchases

Create a securities purchase transaction

Creates a transaction to purchase securities. Note that you must first create a reservation using the POST /v1/persons/{person_id}/accounts/{account_id}/securities_reservations method.
This method does not require a change request.

Request
Security:
path Parameters
person_id
required
string
account_id
required
string
Request Body schema: application/json
amount
required
integer
reservation_id
required
string <uuid>

ID of the securities reservation you created with the POST Create a securities reservation endpoint.

trade_id
required
string

The same value as the reference but without hyphens. Note that it must be exactly the same as the value supplied to the POST Create a securities reservation endpoint.

reference
required
string