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 a credit clearing transaction

Creates a credit clearing transaction on the account specified in the request URL. The funds will be sent from this account to the account defined in the clearing profile sent in the request body.

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 in the URL.

booking_type
required
string

The booking type to use for the transaction. Must match one of the booking types defined in the clearing profile.

Enum: "CANCELLATION_BOOKING" "CancellationCardTransaction" "CANCELLATION_CARD_TRANSACTION_DIRECT" "CANCELLATION_CHARGE_CARD" "CANCELLATION_CHARGE_DUNNING" "CANCELLATION_CHARGE_SEPA_DIRECT_DEBIT_RETURN" "CANCELLATION_CRYPTO_EXCHANGE" "CANCELLATION_CURRENCY_EXCHANGE_PARTNER" "CANCELLATION_DIRECT_DEBIT" "CANCELLATION_DOUBLE_BOOKING" "CANCELLATION_INTERNAL_TRANSFER" "CANCELLATION_INTERNATIONAL_CREDIT_TRANSFER" "CANCELLATION_INTEREST_ACCRUED" "CANCELLATION_INTEREST_ANNUITY" "CANCELLATION_INTEREST_LOAN" "CANCELLATION_LOAN_PAYOUT" "CANCELLATION_REBOOKING" "CANCELLATION_REBOOKING_INTEREST" "CANCELLATION_SEPA_CREDIT_TRANSFER_RETURN" "CANCELLATION_SEPA_DIRECT_DEBIT" "CANCELLATION_SEPA_DIRECT_DEBIT_RETURN" "CANCELLATION_TRANSFER_ANNUITY" "CARD_DIRECT_DEBIT" "CARD_TRANSACTION" "CARD_TRANSACTION_DIRECT" "CASH_DEPOSIT_RETAIL" "CASH_WITHDRAWAL_RETAIL" "CHARGE_ACCOUNT_MAINTENANCE" "CHARGE_CARD" "CHARGE_DUNNING" "ChargeRecallRequest" "CHARGE_SEPA_DIRECT_DEBIT_RETURN" "ClosureBalanceTransfer" "COMMISSION_OVERDRAFT" "CREDIT_TRANSFER_CANCELLATION" "CRYPTO_EXCHANGE" "CURRENCY_EXCHANGE_PARTNER" "DIRECT_DEBIT" "FOREIGN_PAYMENT" "INTEREST_ACCRUED" "INTEREST_ANNUITY" "INTEREST_LOAN" "INTERNAL_TRANSFER" "INTERNATIONAL_CREDIT_TRANSFER" "LOAN_PAYOUT" "REBOOKING" "REBOOKING_INTEREST" "SEPA_CREDIT_TRANSFER" "SEPA_CREDIT_TRANSFER_RETURN" "SEPA_DIRECT_DEBIT" "SEPA_DIRECT_DEBIT_RETURN" "SepaInstantCreditTransfer" "TARGET2_CREDIT_TRANSFER" "TRANSFER_ANNUITY" "OTHER" "CASH_WITHDRAWAL_FEE" "CURRENCY_CASH_WITHDRAWAL_FEE" "CASH_DEPOSIT_RETAIL_FEE" "CASH_WITHDRAWAL_RETAIL_FEE" "CHARGE_CARD_DELIVERY_FEE" "CARD_ISSUANCE_FEE" "BOOSTER_PACKAGE_FEE" "ACCOUNT_MAINTENANCE_FEE" "ChargeVirtualCard" "ChargeReissuePhysicalCard" "ChargeAdditionalPhysicalCard" "ChargeAdditionalVirtualCard" "ChargeReissueVirtualCard" "ChargeCardMaintenance" "ChargeTopUpCard" "ChargeAdditionalAccountMaintenance" "ChargeSharedAccount" "ChargeAuthorizedUser" "ChargeGamblingTransactionPartner" "ChargeSEPAInstantOutgoing" "ChargeSEPAInstantIncoming" "ChargeManualSepaTransferPartner" "ChargeIncomingSwift" "ChargeGamblingOrCashEquivalent" "ChargeFXCardTransaction"
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.

initiator_reference
string

Optional unique initiator reference.

Responses
200

The operation was successful.

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",
  • "initiator_reference": "2603037c-e264-46c4-82e8-0d3ebc23a30f"
}
Response samples
application/json
{
  • "id": "3f4e761f500e4c11a6627b4d90daaec4",
  • "status": "EXECUTED",
  • "account_id": "06659ff514934b28800b5650d109cacc",
  • "account_iban": "DE43110101005555555555",
  • "clearing_account_iban": "DE30110101001234567890",
  • "amount": {
    },
  • "description": "Example description",
  • "booking_type": "SEPA_CREDIT_TRANSFER",
  • "valuta_date": "2022-04-22",
  • "transaction_type": "CLEARING_TRANSACTION",
  • "reference": "2603037c-e264-46c4-82e8-0d3ebc23a30f",
  • "initiator_reference": "2603037c-e264-46c4-82e8-0d3ebc23a30f"
}

Create debit clearing transaction

Creates a debit clearing transaction to the account specified in the request URL. Funds will be drawn from the account defined in the clearing profile to the account in the URL.

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

The booking type to use for the debit clearing transaction. Must match one of the booking types defined in the clearing profile.

description
string

A description for the transaction.

clearing_profile_id
required
string

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

reference
string

A unique reference for the transaction.

initiator_reference
string

Optional unique initiator reference for the transaction.

Responses
200

The operation was successful.

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",
  • "initiator_reference": "2603037c-e264-46c4-82e8-0d3ebc23a30f"
}
Response samples
application/json
{
  • "id": "3f4e761f500e4c11a6627b4d90daaec4",
  • "status": "EXECUTED",
  • "account_id": "06659ff514934b28800b5650d109cacc",
  • "account_iban": "DE43110101005555555555",
  • "clearing_account_iban": "DE30110101001234567890",
  • "amount": {
    },
  • "description": "Example description",
  • "booking_type": "SEPA_CREDIT_TRANSFER",
  • "valuta_date": "2022-04-22",
  • "transaction_type": "CLEARING_TRANSACTION",
  • "reference": "2603037c-e264-46c4-82e8-0d3ebc23a30f",
  • "initiator_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": "SEPA_CREDIT_TRANSFER",
  • "valuta_date": "2022-04-22",
  • "transaction_type": "CLEARING_TRANSACTION",
  • "reference": "2603037c-e264-46c4-82e8-0d3ebc23a30f",
  • "initiator_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": "ACCEPTED",
  • "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"
filter[instruction_id]
string

Filter the results by the instruction_id

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=ACCEPTED&filter%5Binstruction_id%5D=string'
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": "ACCEPTED",
  • "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": "ACCEPTED",
  • "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-Enums-BookingType)

The type of the booking. See the booking documentation for a list of explanations for each booking type.

Enum: "CANCELLATION_BOOKING" "CancellationCardTransaction" "CANCELLATION_CARD_TRANSACTION_DIRECT" "CANCELLATION_CHARGE_CARD" "CANCELLATION_CHARGE_DUNNING" "CANCELLATION_CHARGE_SEPA_DIRECT_DEBIT_RETURN" "CANCELLATION_CRYPTO_EXCHANGE" "CANCELLATION_CURRENCY_EXCHANGE_PARTNER" "CANCELLATION_DIRECT_DEBIT" "CANCELLATION_DOUBLE_BOOKING" "CANCELLATION_INTERNAL_TRANSFER" "CANCELLATION_INTERNATIONAL_CREDIT_TRANSFER" "CANCELLATION_INTEREST_ACCRUED" "CANCELLATION_INTEREST_ANNUITY" "CANCELLATION_INTEREST_LOAN" "CANCELLATION_LOAN_PAYOUT" "CANCELLATION_REBOOKING" "CANCELLATION_REBOOKING_INTEREST" "CANCELLATION_SEPA_CREDIT_TRANSFER_RETURN" "CANCELLATION_SEPA_DIRECT_DEBIT" "CANCELLATION_SEPA_DIRECT_DEBIT_RETURN" "CANCELLATION_TRANSFER_ANNUITY" "CARD_DIRECT_DEBIT" "CARD_TRANSACTION" "CARD_TRANSACTION_DIRECT" "CASH_DEPOSIT_RETAIL" "CASH_WITHDRAWAL_RETAIL" "CHARGE_ACCOUNT_MAINTENANCE" "CHARGE_CARD" "CHARGE_DUNNING" "ChargeRecallRequest" "CHARGE_SEPA_DIRECT_DEBIT_RETURN" "ClosureBalanceTransfer" "COMMISSION_OVERDRAFT" "CREDIT_TRANSFER_CANCELLATION" "CRYPTO_EXCHANGE" "CURRENCY_EXCHANGE_PARTNER" "DIRECT_DEBIT" "FOREIGN_PAYMENT" "INTEREST_ACCRUED" "INTEREST_ANNUITY" "INTEREST_LOAN" "INTERNAL_TRANSFER" "INTERNATIONAL_CREDIT_TRANSFER" "LOAN_PAYOUT" "REBOOKING" "REBOOKING_INTEREST" "SEPA_CREDIT_TRANSFER" "SEPA_CREDIT_TRANSFER_RETURN" "SEPA_DIRECT_DEBIT" "SEPA_DIRECT_DEBIT_RETURN" "SEPAInstantCreditTransfer" "TARGET2_CREDIT_TRANSFER" "TRANSFER_ANNUITY" "OTHER"
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.",
  • "detail": "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
required
string

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

required
object

The amount of the payout.

instant_payment_rail
string

The payment rail to use for an instant payout. If not specified, a regular SEPA Credit Transfer is used.

Value: "sepa_instant"
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_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",
  • "decline_reason": "instant_payment_rail_failure"
}

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]
integer

The number of results pages to return.

page[size]
integer

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=0&page%5Bsize%5D=0&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
required
string

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

required
object

The amount of the payout.

instant_payment_rail
string

The payment rail to use for an instant payout. If not specified, a regular SEPA Credit Transfer is used.

Value: "sepa_instant"
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_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",
  • "decline_reason": "instant_payment_rail_failure"
}

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]
integer

The number of results pages to return.

page[size]
integer

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=0&page%5Bsize%5D=0&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
required
string

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

required
object

The amount of the payout.

instant_payment_rail
string

The payment rail to use for an instant payout. If not specified, a regular SEPA Credit Transfer is used.

Value: "sepa_instant"
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",
  • "decline_reason": "instant_payment_rail_failure"
}

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]
integer

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=0&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",
  • "decline_reason": "instant_payment_rail_failure"
}

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
required
string

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

required
object

The amount of the payout.

instant_payment_rail
string

The payment rail to use for an instant payout. If not specified, a regular SEPA Credit Transfer is used.

Value: "sepa_instant"
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",
  • "decline_reason": "instant_payment_rail_failure"
}

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]
integer

The number of results pages to return.

page[size]
integer

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=0&page%5Bsize%5D=0&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",
  • "decline_reason": "instant_payment_rail_failure"
}

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",
  • "decline_reason": "instant_payment_rail_failure"
}

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",
  • "decline_reason": "instant_payment_rail_failure"
}

Securities purchases

(Legacy) Create a securities purchase transactionDeprecated

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.
Note: This endpoint corresponds with a legacy product that Solaris no longer offers.

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 <uuid>

UUID that acts as an idempotency key for this request. Note that it must be exactly the same as the value supplied to the POST Create a securities reservation endpoint.

description
string

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

required
object

Information from the brokerage provider about the securities to be purchased.

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/securities_purchase
Request samples
application/json
{
  • "amount": 1000,
  • "reservation_id": "204ec94e-4e48-4502-93c2-1d1d6e94afd3",
  • "trade_id": "5d488b1fcd024a1dbc6c8226f90d4207",
  • "reference": "73a46685-8ac6-4fff-9d36-55288523d879",
  • "description": "Example transaction",
  • "details": {
    }
}
Response samples
application/json
{
  • "id": "string",
  • "reservation_id": "b947feb5-3593-40ee-8244-4428da3fe32d",
  • "reference": "2ddb20b8-e0e3-45ae-a638-42610b990a6a",
  • "amount": {
    },
  • "description": "string",
  • "trade_id": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "details": {
    }
}

(Legacy) Create a securities account reservationDeprecated

Creates a reservation for a subsequent securities purchase. This request will trigger the change request process.
Note: This endpoint corresponds with a legacy product that Solaris no longer offers.

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

The content of the request.

amount
required
integer

The amount of the securities reservation (in Euro).

reference
required
string <uuid>

A UUID identifier for the reservation. This property acts as an idempotency key and must therefore be unique.

trade_id
required
string

The same value as reference but without the hyphens.

description
required
string

A concatenated string containing all securities-related information, separated by forward slashes (/). E.g., {securities name}/{quantity}/{exchange}/etc

Responses
200

The operation has already been performed. The result of the previous operation will be returned.

202

Successful result of the operation. Reservation is created after completing the change request process.

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}/securities_reservations
Request samples
application/json
{
  • "amount": 100,
  • "reference": "7aa04f97-7720-4609-a5c5-d7b0f86e7661",
  • "trade_id": "7aa04f9777204609a5c5d7b0f86e7661",
  • "description": "AAPL/10/29831/timestamp/USD/NASDAQ"
}
Response samples
application/json
{
  • "id": "be6b2a68-2c93-4d39-b56e-0897b8137473"
}

(Legacy) Create a securities sale transactionDeprecated

Note: This endpoint corresponds with a legacy product that Solaris no longer offers.

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

Valid UUID without hyphens

reference
required
string <uuid>

Used as idempotency key

description
string
required
object
Responses
200

This transaction already exists.

201

Transaction is created

default

Unexpected error

post/v1/persons/{person_id}/accounts/{account_id}/transactions/securities_sale
Request samples
application/json
{
  • "amount": 1000,
  • "trade_id": "5d488b1fcd024a1dbc6c8226f90d4207",
  • "reference": "73a46685-8ac6-4fff-9d36-55288523d879",
  • "description": "Example transaction",
  • "details": {
    }
}
Response samples
application/json
{
  • "id": "string",
  • "reference": "2ddb20b8-e0e3-45ae-a638-42610b990a6a",
  • "amount": {
    },
  • "description": "string",
  • "trade_id": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "details": {
    }
}

Transfer requests

Create transfer request

Creates a transfer request and associates it with the account specified in the request URL. This method will create a reservation on the account for the amount specified in the transfer request.

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

The content of the request.

object

The amount of the transfer request.

reference
string

A unique reference for the transfer request. Acts as an idempotency key.

description
string

A description for the transfer request.

Responses
201

Transfer request created successfully

400

An error occurred on the client side.

403

Unauthorized action.

404

Account not found

500

Internal server error

post/v1/accounts/{account_id}/transfer_requests
Request samples
application/json
{
  • "amount": {
    },
  • "reference": "e8eabf80-095f-4d6a-947a-4ca1455cc378",
  • "description": "An example description"
}
Response samples
application/json
{
  • "id": "d3441a66f78e6290cdeebc4c1689a4aetreq",
  • "reservation_id": "88cedf447b2c43828ded233733d1cc54",
  • "amount": {
    },
  • "reference": "e8eabf80-095f-4d6a-947a-4ca1455cc378",
  • "description": "Example description",
  • "resolved": false
}

Index transfer requests for an account

Returns an array containing all transfer requests associated with the account specified in the request URL.

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

Use this filter to return only resolved transfers.

filter[reference]
string

Filter the response by the reference property.

filter[reservation_id]
string

Filter the response by the reservation ID associated with the transfer request.

Responses
200

The operation was successful.

403

Unauthorized action.

404

Account not found

500

Internal server error

get/v1/accounts/{account_id}/transfer_requests
Request samples
curl -i -X GET \
  'https://api.solaris-sandbox.de/v1/accounts/{account_id}/transfer_requests?filter%5Bresolved%5D=true&filter%5Breference%5D=string&filter%5Breservation_id%5D=string'
Response samples
application/json
[
  • {
    }
]

Retrieve a transfer request

Returns information about the transfer request specified in the request URL.

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

Transfer request fetched successfully.

400

An error occurred on the client side.

403

Unauthorized action.

404

The requested resource could not be found.

500

Internal server error

get/v1/accounts/{account_id}/transfer_requests/{transfer_request_id}
Request samples
curl -i -X GET \
  'https://api.solaris-sandbox.de/v1/accounts/{account_id}/transfer_requests/{transfer_request_id}'
Response samples
application/json
{
  • "id": "d3441a66f78e6290cdeebc4c1689a4aetreq",
  • "reservation_id": "88cedf447b2c43828ded233733d1cc54",
  • "amount": {
    },
  • "reference": "e8eabf80-095f-4d6a-947a-4ca1455cc378",
  • "description": "Example description",
  • "resolved": false
}

Index transfer request executions

Returns an array containing all transfer request executions for the account specified in the request URL.

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

The number of results pages to return.

page[size]
integer
Default: 10

The number of results to return on each page.

Responses
200

The operation was successful.

400

An error occurred on the client side.

403

Unauthorized action.

404

The requested resource could not be found.

500

Internal server error

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

Execute a transfer request

Executes the transfer request specified in the request URL. Note that you can execute a transfer request for less than or equal to the transfer request amount. In case the amount is lower, a new reservation of the remaining amount will be created and the associated reservation_id of the transfer request will be updated. You must then release the previous reservation using PATCH Resolve a transfer request.

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

The content of the request.

object (Money)
reference
string

A unique reference for the transfer request. Acts as an idempotency key.

description
string

A description for the transfer request.

recipient_iban
string

The recipient's IBAN.

type
string

The type of transfer request to be executed.

Enum: "CRYPTO_EXCHANGE" "PARTNER_FEE"
Responses
201

Transfer request execution created successfully.

400

An error occurred on the client side.

403

Unauthorized action.

404

The requested resource could not be found.

500

Internal server error

post/v1/accounts/{account_id}/transfer_requests/{transfer_request_id}/executions
Request samples
application/json
{
  • "amount": {
    },
  • "reference": "a95f2aaf-4e0c-4d49-8021-8a16a884ed86",
  • "description": "Wallet-to-wallet payment",
  • "recipient_iban": "DE32110101001000000029",
  • "end_to_end_id": "426d61f5-8fa2-443d-ab0a-7245b06d46a7",
  • "type": "CRYPTO_EXCHANGE"
}
Response samples
application/json
{
  • "id": "e451ce22c8b1438d8befe2a29182fc83",
  • "amount": {
    },
  • "status": "EXECUTED",
  • "type": "CRYPTO_EXCHANGE",
  • "recipient_iban": "DE32110101001000000029",
  • "instruction_id": "GT5VCLgQCkpcyTCnHuXdg8nSVz2hjDpY4Qw",
  • "reference": "55207045-4509-4278-9f44-0947635f4d75",
  • "description": "Example description"
}

Resolve a transfer request

Trigger release of reservation amount

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

Transfer request resolved successfully.

400

An error occurred on the client side.

403

Unauthorized action.

404

The requested resource could not be found.

500

Internal server error

patch/v1/accounts/{account_id}/transfer_requests/{transfer_request_id}/resolve
Request samples
curl -i -X PATCH \
  'https://api.solaris-sandbox.de/v1/accounts/{account_id}/transfer_requests/{transfer_request_id}/resolve'
Response samples
application/json
{
  • "id": "d3441a66f78e6290cdeebc4c1689a4aetreq",
  • "reservation_id": "88cedf447b2c43828ded233733d1cc54",
  • "amount": {
    },
  • "reference": "e8eabf80-095f-4d6a-947a-4ca1455cc378",
  • "description": "Example description",
  • "resolved": false
}

(Legacy) Money Transfer

Show account

Return account with id

Request
Security:
Responses
200

Successful result of the operation

default

Unexpected error

get/v1/money_transfer/account
Request samples
curl -i -X GET \
  https://api.solaris-sandbox.de/v1/money_transfer/account

Index Booking

Return all bookings for account

Request
Security:
query Parameters
page[number]
string

Page Number

page[size]
string

Size of Page

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

Filter on start_date

filter[booking_date][max]
string

Filter on end_date

filter[booking_type]
string

Filter on booking_type

filter[creditor_identifier]
string

Filter on creditor_identifier

filter[description]
string

Filter on description

filter[end_to_end_id]
string

Filter on end_to_end_id

filter[mandate_reference]
string

Filter on mandate_reference

filter[recipient_name]
string

Filter on recipient_name

filter[recipient_iban]
string

Filter on recipient_iban

filter[recipient_bic]
string

Filter on recipient_bic

filter[recorded_at][min]
string

Filter on recorded_at from

filter[recorded_at][max]
string

Filter on recorded_at to

filter[transaction_id]
string

Filter on transaction_id

filter[valuta_date][min]
string

Filter on valuta start_date

filter[valuta_date][max]
string

Filter on valuta end_date

Responses
200

Successful result of the operation

default

Unexpected error

get/v1/money_transfer/account/bookings
Request samples
curl -i -X GET \
  'https://api.solaris-sandbox.de/v1/money_transfer/account/bookings?page%5Bnumber%5D=string&page%5Bsize%5D=string&sort=id&filter%5Bbooking_date%5D%5Bmin%5D=string&filter%5Bbooking_date%5D%5Bmax%5D=string&filter%5Bbooking_type%5D=string&filter%5Bcreditor_identifier%5D=string&filter%5Bdescription%5D=string&filter%5Bend_to_end_id%5D=string&filter%5Bmandate_reference%5D=string&filter%5Brecipient_name%5D=string&filter%5Brecipient_iban%5D=string&filter%5Brecipient_bic%5D=string&filter%5Brecorded_at%5D%5Bmin%5D=string&filter%5Brecorded_at%5D%5Bmax%5D=string&filter%5Btransaction_id%5D=string&filter%5Bvaluta_date%5D%5Bmin%5D=string&filter%5Bvaluta_date%5D%5Bmax%5D=string'

Index customers balances

List of customers balances

Request
Security:
query Parameters
page[number]
string

Page Number

page[size]
string

Size of Page

filter[min]
string

Filter on Min balance

filter[max]
string

Filter on Max balance

Responses
200

Successful result of the operation

default

Unexpected error

get/v1/money_transfer/customers/balances
Request samples
curl -i -X GET \
  'https://api.solaris-sandbox.de/v1/money_transfer/customers/balances?page%5Bnumber%5D=string&page%5Bsize%5D=string&filter%5Bmin%5D=string&filter%5Bmax%5D=string'

Index customers

Index customers

Request
Security:
query Parameters
page[number]
string

Page Number

page[size]
string

Size of Page

sort
string
Enum: "id" "created_at" "updated_at" "status_change_date" "name"
filter[created_at][min]
string

Filter on Min created_at

filter[created_at][max]
string

Filter on Max created_at

filter[iban]
string

Filter on iban

filter[name]
string

Filter on name

filter[reference]
string

Filter on reference

filter[status]
string

Filter on status

Responses
200

Successful result of the operation

default

Unexpected error

get/v1/money_transfer/customers
Request samples
curl -i -X GET \
  'https://api.solaris-sandbox.de/v1/money_transfer/customers?page%5Bnumber%5D=string&page%5Bsize%5D=string&sort=id&filter%5Bcreated_at%5D%5Bmin%5D=string&filter%5Bcreated_at%5D%5Bmax%5D=string&filter%5Biban%5D=string&filter%5Bname%5D=string&filter%5Breference%5D=string&filter%5Bstatus%5D=string'

Create Customer

Create Customer for Partner

Request
Security:
Request Body schema: application/json

the content of the request

reference
string

Unique system reference

name
string

Customer Name

country
string

Customer's country

iban
string

IBAN of the customer

bic
string

BIC of the customer

person_id
string

Person Id belonging to the customer

business_id
string

Business Id belonging to the customer

expected_count_transactions
integer

Expected current number of customer transactions

fee_percentage
number

Fee percentage

object
object
Responses
200

Successful result of the operation

default

Unexpected error

post/v1/money_transfer/customers
Request samples
application/json
{
  • "reference": "customer_unique_ref",
  • "name": "Customer Name",
  • "country": "DE",
  • "iban": "DE32110101001000000029",
  • "bic": "SOBKDEBBXXX",
  • "expected_volume_transactions": {
    },
  • "mandate": {
    }
}

Show customers balance

Show customers balance

Request
Security:
path Parameters
id
required
string
Responses
200

Successful result of the operation

default

Unexpected error

get/v1/money_transfer/customers/{id}/balance
Request samples
curl -i -X GET \
  'https://api.solaris-sandbox.de/v1/money_transfer/customers/{id}/balance'

Show Customer

Show Customer for Partner

Request
Security:
path Parameters
id
required
string
Responses
200

Successful result of the operation

default

Unexpected error

get/v1/money_transfer/customers/{id}
Request samples
curl -i -X GET \
  'https://api.solaris-sandbox.de/v1/money_transfer/customers/{id}'

Update Customer

Update Customer for Partner

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

the content of the request

name
string

Customer Name

country
string

Customer's country

iban
string

IBAN of the customer

bic
string

BIC of the customer

person_id
string

Person Id belonging to the customer

business_id
string

Business Id belonging to the customer

expected_count_transactions
integer

Expected current number of customer transactions

fee_percentage
number

Fee percentage

object
object
Responses
200

Successful result of the operation

default

Unexpected error

patch/v1/money_transfer/customers/{id}
Request samples
application/json
{
  • "name": "Customer Name",
  • "country": "DE",
  • "iban": "DE32110101001000000029",
  • "bic": "SOBKDEBBXXX",
  • "expected_volume_transactions": {
    },
  • "mandate": {
    }
}

Index customer transactions

List of transactions done by customer

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

Page Number

page[size]
string

Size of Page

sort
string
Enum: "created_at" "reference"
filter[created_at][min]
string

Filter on Min created_at

filter[created_at][max]
string

Filter on Max created_at

filter[status]
string

Filter on payment status

filter[type]
string

Filter on payment type

filter[payment_id]
string

Filter on payment id

filter[reference]
string

Filter on reference

Responses
200

Successful result of the operation

default

Unexpected error

get/v1/money_transfer/customers/{id}/transactions
Request samples
curl -i -X GET \
  'https://api.solaris-sandbox.de/v1/money_transfer/customers/{id}/transactions?page%5Bnumber%5D=string&page%5Bsize%5D=string&sort=created_at&filter%5Bcreated_at%5D%5Bmin%5D=string&filter%5Bcreated_at%5D%5Bmax%5D=string&filter%5Bstatus%5D=string&filter%5Btype%5D=string&filter%5Bpayment_id%5D=string&filter%5Breference%5D=string'

Terminate Customer

Terminate customer for partner

Request
Security:
path Parameters
id
required
string
Responses
200

Successful result of the operation

default

Unexpected error

patch/v1/money_transfer/customers/{id}/terminate
Request samples
curl -i -X PATCH \
  'https://api.solaris-sandbox.de/v1/money_transfer/customers/{id}/terminate'

Create Payin

Create Payin payment

Request
Security:
Request Body schema: application/json

the content of the request

reference
string

Unique system reference

booking_id
string

ID of the booking

object
description
string

Description of the payment

object
end_to_end_id
string

End to end id

Array of objects

Payload of transactions

Array of objects

Payload of refund

Responses
200

Successful result of the operation

default

Unexpected error

post/v1/money_transfer/payments/payin
Request samples
application/json
{
  • "reference": "payment_unique_ref",
  • "booking_id": "12312124342342342boo",
  • "amount": {
    },
  • "description": "description",
  • "debtor_information": {
    },
  • "end_to_end_id": "end_to_end_id",
  • "transactions": [
    ],
  • "refunds": [
    ]
}

Index payments

Index payments

Request
Security:
query Parameters
page[number]
string

Page Number

page[size]
string

Size of Page

sort
string
Enum: "id" "reference" "collection_date" "amount" "type" "status" "created_at" "updated_at"
filter[created_at][min]
string

Filter on Min created_at

filter[created_at][max]
string

Filter on Max created_at

filter[customer_id]
string

Filter on customer_id

filter[booking_id]
string

Filter on booking_id

filter[end_to_end_id]
string

Filter on end_to_end_id

filter[reference]
string

Filter on reference

filter[status]
string

Filter on status

filter[type]
string

Filter on type

Responses
200

Successful result of the operation

default

Unexpected error

get/v1/money_transfer/payments
Request samples
curl -i -X GET \
  'https://api.solaris-sandbox.de/v1/money_transfer/payments?page%5Bnumber%5D=string&page%5Bsize%5D=string&sort=id&filter%5Bcreated_at%5D%5Bmin%5D=string&filter%5Bcreated_at%5D%5Bmax%5D=string&filter%5Bcustomer_id%5D=string&filter%5Bbooking_id%5D=string&filter%5Bend_to_end_id%5D=string&filter%5Breference%5D=string&filter%5Bstatus%5D=string&filter%5Btype%5D=string'

Show Payment

Show selected Payment

Request
Security:
path Parameters
id
required
string
Responses
200

Successful result of the operation

default

Unexpected error

get/v1/money_transfer/payments/{id}
Request samples
curl -i -X GET \
  'https://api.solaris-sandbox.de/v1/money_transfer/payments/{id}'

List transactions in payment

List of transactions related to given payment id

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

Page Number

page[size]
string

Size of Page

sort
string
Enum: "created_at" "reference"
filter[reference]
string

Filter on reference

filter[type]
string

Filter on type

filter[customer_id]
string

Filter on customer_id

Responses
200

Successful result of the operation

default

Unexpected error

get/v1/money_transfer/payments/{id}/transactions
Request samples
curl -i -X GET \
  'https://api.solaris-sandbox.de/v1/money_transfer/payments/{id}/transactions?page%5Bnumber%5D=string&page%5Bsize%5D=string&sort=created_at&filter%5Breference%5D=string&filter%5Btype%5D=string&filter%5Bcustomer_id%5D=string'

Create Sepa Credit Transfer

Create Sepa Credit Transfer payout

Request
Security:
Request Body schema: application/json

the content of the request

reference
string

Unique system reference

object
description
string

Description of the payment

object
end_to_end_id
string

End to end id

Array of objects

Payload of transactions

Responses
200

Successful result of the operation

default

Unexpected error

post/v1/money_transfer/payments/sepa_credit_transfer
Request samples
application/json
{
  • "reference": "payment_unique_ref",
  • "amount": {
    },
  • "description": "description",
  • "recipient_information": {
    },
  • "end_to_end_id": "end_to_end_id",
  • "transactions": [
    ]
}

Create Sepa Direct Debit

Create Sepa Direct Debit payment

Request
Security:
Request Body schema: application/json

the content of the request

reference
string

Unique system reference

object
description
string

Description of the payment

collection_date
string

Collection date of the payment

object
end_to_end_id
string

End to end id

Array of objects

Payload of transactions

Responses
200

Successful result of the operation

400

Client Error

403

Unauthorized action

500

Internal server error

post/v1/money_transfer/payments/sepa_direct_debit
Request samples
application/json
{
  • "reference": "sdd_payment_unique_ref",
  • "amount": {
    },
  • "description": "description",
  • "collection_date": "2016-02-11",
  • "mandate": {
    },
  • "end_to_end_id": "end_to_end_id",
  • "transactions": [
    ]
}