Webhooks (1.0)

Download OpenAPI specification:Download

Webhook subscription

Create a webhook subscription

Creates a new webhook subscription for a specific event.
When you create a webhook subscription, Solaris checks the validity of the provided url by sending a single POST notification. The notification contains an empty body and the SOLARIS-WEBHOOK-EVENT-TYPE header with a value of WEBHOOK-SUBSCRIPTION.
The response from this endpoint contains a unique id for the subscription and a secret. Use this secret to verify the authenticity of the notifications.
Webhook URLs cannot be changed after creating a webhook subscription. You must delete the existing webhook and register a new one with the new URL. Note that you will receive a new id and secret.

Request
Security:
Request Body schema: application/json

The content of the request.

event_type
string

The type of event to subscribe to.

url
string

The URL where Solaris should send the webhook notifications.

Responses
201

Successful result of the operation

400

Invalid request.

403

You are not authorized to perform this action.

404

The resource could not be found.

500

Internal server error.

default

Unexpected error

post/v1/webhooks
Request samples
application/json
{}
Response samples
application/json
{}

Index webhooks

Returns an array containing all of your webhook subscriptions.

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.

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

Retrieve a webhook

Returns the webhook subscription specified in the request URL. Note that the API only returns secret value when the webhook is created; this endpoint will return null as the value for secret.

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

Delete a webhook

Deletes the webhook subscription specified in the request URL. Please ensure that you have a replacement for a webhook before deleting it; all stored and unsent notifications will be lost.

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

default

Unexpected error

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

Webhook events

ACCOUNT_BLOCK Webhook

The locking_status or locking_reason for a customer's account has changed. See the Account management guide for more information about account blocking.

Request
Request Body schema: application/json
account_id
string

The ID of customer's account that was blocked.

person_id
string

The ID of the person resource of the customer whose account was blocked.

business_id
string

The ID of the business resource of the customer whose account was blocked.

iban
string

The IBAN of the account that was blocked.

locking_status
string

Read-only booking block indicating whether funds can be transferred to/from the account. The default status is NO_BLOCK. Other status values indicate that funds may neither be credited to, nor debited from, the account. Only authorized Solaris employees can change the status of this value. Attempting to perform an action not compliant with the current blocking status (e.g., initiating a transaction to or from a blocked account) will cause either a return of the transaction or an exception.

Enum: "NO_BLOCK" "CREDIT_BLOCK" "DEBIT_BLOCK" "BLOCK"
updated_at
string

UTC timestamp from when the account's locking status has changed.

Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "account_id": "adc123a45d6d7cf8fbfeed537ba919d5cacc",
  • "person_id": "dc1a6812a14f6cc338cd084208535bcdcper",
  • "business_id": "null",
  • "iban": "DE87110101001000057123",
  • "locking_status": "DEBIT_BLOCK",
  • "updated_at": "2018-10-18T13:06:54.000Z"
}

ACCOUNT_CLOSUREWebhook

The account closure process has completed for a customer's account.

Request
Request Body schema: application/json
account_id
string

The ID of customer's account that was closed.

person_id
string

The ID of the person resource of the customer whose account was closed.

business_id
string

The ID of the business resource of the customer whose account was closed.

iban
string

The IBAN of the account that was closed.

Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "account_id": "adc123a45d6d7cf8fbfeed537ba919d5cacc",
  • "person_id": "dc1a6812a14f6cc338cd084208535bcdcper",
  • "business_id": "null",
  • "iban": "DE87110101001000057123"
}

ACCOUNT_CLOSURE_REQUESTWebhook

Solaris has initiated the account closure process for a customer's account.

Request
Request Body schema: application/json
id
string

ID of the account closure request.

closure_reason
string

The reason for the account closure.

Enum: "ACCOUNT_REVOCATION" "ACCOUNT_REVOCATION_INTERNAL" "COMPLIANCE_IMMEDIATE_INTERNAL" "COMPLIANCE_ORDINARY_INTERNAL" "CUSTOMER_WISH" "CUSTOMER_WISH_INTERNAL" "DUNNING_DECOUPLED_CARD_INTERNAL" "INSOLVENCY_IMMEDIATE_INTERNAL" "INSOLVENCY_ORDINARY_INTERNAL" "PARTNER_SERVICE_ACCOUNT_TERMINATED" "RELATIONSHIP_TERMINATION" "RELATIONSHIP_TERMINATION_INTERNAL" "SEIZURES_ORDINARY_INTERNAL" "TECHNICAL_IMMEDIATE_INTERNAL"
status
string

Status of the account closure request.

Enum: "INITIATED" "CONFIRMED" "IN_PROGRESS" "COMPLETED" "FAILED" "REVOKED"
account_id
string

ID of the account to be closed.

technical_closure_date
string <date>

The date when the account was removed from the Solaris system.

legal_closure_date
string <date>

The date when the contractual relationship underlying the product/account ends.

object

An object containing information about the reason why an account closure request has failed.

payout_allowed
string

payout_allowed is deciding whether the funds can be paid out in the automated process, but it also serves as information for the Partner on whether or not the Customer is allowed to pay out funds from the account.

Enum: "false" "true"
updated_at
string <date-time>

Updated date and time

Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "id": "f8d7fbbd587047a0aa449ce69d2d6c08acrq",
  • "closure_reason": "COMPLIANCE_IMMEDIATE_INTERNAL",
  • "status": "IN_PROGRESS",
  • "account_id": "5526853938474f3e92b22a03ea57a544cacc",
  • "technical_closure_date": "2021-10-11",
  • "legal_closure_date": "2021-10-11",
  • "failure_reason": {
    },
  • "payout_allowed": "false",
  • "updated_at": "2021-12-22T15:05:33.634Z"
}

ACCOUNT_CLOSURE_REQUEST_UPDATEWebhook

This webhook sends notifications about certain status transitions for account closure requests.

Request
Request Body schema: application/json
id
string

ID of the account closure request.

closure_reason
string

The reason for the account closure.

Enum: "ACCOUNT_REVOCATION" "ACCOUNT_REVOCATION_INTERNAL" "COMPLIANCE_IMMEDIATE_INTERNAL" "COMPLIANCE_ORDINARY_INTERNAL" "CUSTOMER_WISH" "CUSTOMER_WISH_INTERNAL" "DUNNING_DECOUPLED_CARD_INTERNAL" "INSOLVENCY_IMMEDIATE_INTERNAL" "INSOLVENCY_ORDINARY_INTERNAL" "PARTNER_SERVICE_ACCOUNT_TERMINATED" "RELATIONSHIP_TERMINATION" "RELATIONSHIP_TERMINATION_INTERNAL" "SEIZURES_ORDINARY_INTERNAL" "TECHNICAL_IMMEDIATE_INTERNAL"
status
string

Status of the account closure request.

Enum: "INITIATED" "CONFIRMED" "IN_PROGRESS" "COMPLETED" "FAILED" "REVOKED"
account_id
string

ID of the account to be closed.

technical_closure_date
string <date>

The date when the account was removed from the Solaris system.

legal_closure_date
string <date>

The date when the contractual relationship underlying the product/account ends.

object

An object containing information about the reason why an account closure request has failed.

payout_allowed
string

payout_allowed is deciding whether the funds can be paid out in the automated process, but it also serves as information for the Partner on whether or not the Customer is allowed to pay out funds from the account.

Enum: "false" "true"
updated_at
string <date-time>

Updated date and time

Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "id": "f8d7fbbd587047a0aa449ce69d2d6c08acrq",
  • "closure_reason": "COMPLIANCE_IMMEDIATE_INTERNAL",
  • "status": "IN_PROGRESS",
  • "account_id": "5526853938474f3e92b22a03ea57a544cacc",
  • "technical_closure_date": "2021-10-11",
  • "legal_closure_date": "2021-10-11",
  • "failure_reason": {
    },
  • "payout_allowed": "false",
  • "updated_at": "2021-12-22T15:05:33.634Z"
}

ACCOUNT_LIMIT_CHANGEWebhook

The limit on a customer's account has changed. This webhook is used in the context of the Decoupled Cards product.

Request
Request Body schema: application/json
account_id
string

The ID of customer's account whose limit changed.

Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "account_id": "adc123a45d6d7cf8fbfeed537ba919d5cacc"
}

ACCOUNT_OPENING_REQUESTWebhook

An account opening request has been either accepted or rejected.

Request
Request Body schema: application/json
account_opening_request_id
string

The ID of the account opening request.

customer_id
string

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

status
string

The status of the account opening request.

Enum: "INITIATED" "IN_PROGRESS" "COMPLETED" "REJECTED"
account_id
string

The ID of the account that was created for the customer.

updated_at
string <date-time>

The timestamp (date-time) when the AOR was last updated.

object or null

An object containing information about the reason why an account opening request has failed.

Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "account_opening_request_id": "f8d7fbbd587047a0aa449ce69d2d6c08aorq",
  • "customer_id": "b109ee6f66d2a061e006bd31c6455df2cper",
  • "status": "COMPLETED",
  • "account_id": "c5a0e32369e9372e0fdf490294cecd8dcacc",
  • "updated_at": "2021-12-22T15:05:33.634+00:00",
  • "error": {
    }
}

ACCOUNT_SNAPSHOTWebhook

The status of an account snapshot has changed. This webhook is used in the context of different lending products.

Request
Request Body schema: application/json
entity_uuid
string

Resource unique ID.

event_type
string

Webhook event

object (AccountSnapshotWeb.AccountSnapshot.ShowAccountSnapshotResponse)
Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "entity_uuid": "bc9eee989fb84f3aa8089e244bb8dfc1snap",
  • "event_type": "ACCOUNT_SNAPSHOT",
  • "payload": {
    }
}

ACQUIRER_TOPUP_DECLINEDWebhook

A Top-Up transaction was declined by Solaris. The status of the Top Up has changed to DECLINED.

Request
Request Body schema: application/json
id
string

The ID of the Top-Up that was declined.

account_id
string

ID of the customer account associated with the declined Top-Up transaction.

object

The amount of the Top-Up.

client_secret
string

The client secret key provided by the Acquirer's API for use in their frontend SDK.

status
string (TopupStatusValues)

The current status of the Top-Up.

Enum: "ACCEPTED" "CONFIRMED" "EXECUTED" "DECLINED" "CANCELLED"
decline_reason
string or null

The reason why the Top-Up was declined. Usually present if the status is DECLINED due to a technical issue.

Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "id": "b76cdcc321d345618084feedc47bbb1d",
  • "account_id": "adc123a45d6d7cf8fbfeed537ba919d5cacc",
  • "amount": {
    },
  • "client_secret": "pi_1DrPlP2eZvKYlo2CSBQ7uqFH_secret_o1A7UsYFLWeGISUD1QYNkT8IU",
  • "status": "ACCEPTED",
  • "decline_reason": "Person has blocked account(s)"
}

ACQUIRER_TOPUP_EXECUTEDWebhook

Solaris successfully processed a Top-Up via an Acquirer. The funds from the Top Up are cleared to the customer's account, and the status of the Top Up has changed to EXECUTED.

Request
Request Body schema: application/json
id
string

The ID of the Top-Up that was executed.

account_id
string

ID of the customer account associated with the successful Top-Up transaction.

object

The amount of the Top-Up.

client_secret
string

The client secret key provided by the Acquirer's API for use in their frontend SDK.

status
string (TopupStatusValues)

The current status of the Top-Up.

Enum: "ACCEPTED" "CONFIRMED" "EXECUTED" "DECLINED" "CANCELLED"
Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "id": "b76cdcc321d345618084feedc47bbb1d",
  • "account_id": "adc123a45d6d7cf8fbfeed537ba919d5cacc",
  • "amount": {
    },
  • "client_secret": "pi_1DrPlP2eZvKYlo2CSBQ7uqFH_secret_o1A7UsYFLWeGISUD1QYNkT8IU",
  • "status": "ACCEPTED"
}

ACQUIRER_TOPUP_PAYMENT_FAILEDWebhook

A customer attempted an Instant Top-Up but the payment failed (e.g., because the payment method used did not have sufficient funds). The customer may re-attempt the Top-Up with the same payment method or use a different one.

Request
Request Body schema: application/json
id
string

The ID of the Top-Up that failed.

account_id
string

ID of the customer account associated with the failed Top-Up transaction.

object

The amount of the Top-Up.

client_secret
string

The client secret key provided by the Acquirer's API for use in their frontend SDK.

status
string (TopupStatusValues)

The current status of the Top-Up.

Enum: "ACCEPTED" "CONFIRMED" "EXECUTED" "DECLINED" "CANCELLED"
acquirer_error_code
string or null

Error code forwarded by the Acquirer's API (in case there was an error on the Acquirer's end).

acquirer_decline_code
string or null

If the Acquirer declines the Top-Up, then this property will contain the decline code forwarded by the Acquirer's API.

Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "id": "b76cdcc321d345618084feedc47bbb1d",
  • "account_id": "adc123a45d6d7cf8fbfeed537ba919d5cacc",
  • "amount": {
    },
  • "client_secret": "pi_1DrPlP2eZvKYlo2CSBQ7uqFH_secret_o1A7UsYFLWeGISUD1QYNkT8IU",
  • "status": "ACCEPTED",
  • "acquirer_error_code": "card_declined",
  • "acquirer_decline_code": "exceeds daily limit"
}

BENEFICIAL_OWNERWebhook

A new beneficial owner was linked to a business, or an existing one was updated. Solaris will send a notification on this webhook if additional beneficial owners are discovered during the business identification process. For more information about beneficial owners, check the business onboarding guide.

Request
Request Body schema: application/json
id
string

ID of the beneficial owner relationship.

beneficial_owner_id
string

Person ID of the beneficial owner.

person_id
string

Person ID of the beneficial owner.

valid_until
string

The date when the beneficial owner relationship expires.

voting_share
integer

The beneficial owner's voting share. Expressed as a double-digit percentile (e.g., 75% would be expressed as 75).

business_id
string

ID of the business to which the beneficial owner is linked.

Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "id": "a5f454e3f96447d6b3f7ecda46328040",
  • "beneficial_owner_id": "b9c5661fc7d240b8b51b9059b580cper",
  • "person_id": "b9c5661fc7d240b8b51b9059b580cper",
  • "valid_until": "2022-12-31",
  • "voting_share": 75,
  • "business_id": "e0277fae750a4c849660da873f94cbiz"
}

BOOKINGWebhook

A booking was created on the account specified in the webhook payload. For more information about bookings, check the account management guide.

Request
Request Body schema: application/json
id
string

ID of the booking.

creation_date
string

The date when the booking was created. Do not expose this to the account holder(s).

valuta_date
string

The valuta date of the booking (i.e., the date when the booking becomes effective).

booking_date
string

The date when the booking was posted.

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

The amount of the booking.

description
string

A description of the booking.

purpose_code
string

The purpose code of the booking.

recipient_bic
string

The recipient's BIC.

recipient_iban
string

The recipient's IBAN.

recipient_name
string

The recipient's full name.

receiver_iban_virtual
string

(If applicable) The receiver's virtual IBAN.

sender_bic
string

The sender's BIC.

sender_iban
string

The sender's IBAN.

sender_name
string

The sender's full name.

end_to_end_id
string

SEPA identifier provided by the customer who initiated the SEPA transaction, routed through the entire payment process.

creditor_identifier
string

Unique reference that identifies a party collecting payments under the SEPA Direct Debit scheme within and across 32 countries. See the Deutsche Bundesbank's definition of creditor identifier for more information.

mandate_reference
string

The reference of the SDD mandate.

transaction_id
string

The Solaris transaction ID.

return_transaction_id
string

(If applicable) The Solaris ID of the return transaction.

object

(If applicable) Object containing information about the SEPA Direct Debit return transaction charges.

sepa_return_code
string or null

(If applicable) The SEPA reason code for the return transaction. See the EPC173-14 guidelines for more information.

Enum: "AC01" "AC03" "AC04" "AC06" "AC13" "AC14" "AG01" "AG02" "AM01" "AM02" "AM03" "AM04" "AM05" "AM06" "AM07" "AM09" "AM10" "ARDT" "BE01" "BE04" "BE05" "BE06" "BE07" "BE08" "CNOR" "CURR" "CUST" "DNOR" "DS28" "DT01" "ED01" "ED03" "ED05" "EMVL" "FF05" "FOCR" "FR01" "FRTR" "MD01" "MD02" "MD06" "MD07" "MS02" "MS03" "NARR" "NOAS" "NOOR" "PINL" "RC01" "RC07" "RF01" "RR01" "RR02" "RR03" "RR04" "RUTA" "SL01" "SL02" "SL11" "SL12" "SL13" "SL14" "SVNR" "TM01" "TRAC" "UPAY"
sepa_return_reason
string

(If applicable) The SEPA return reason text as defined by ISO 20022.

sepa_return_reason_definition
string

(If applicable) Explanation of the SEPA return reason code as defined by ISO 20022.

meta_info
string or null

JSON-serialized supplementary information about the booking. For example, information about the card and the merchant associated with the booking.

recorded_at
string

UTC timestamp from when the booking was recorded.

reconciliation_id
string

(If applicable) Unique ID of the related clearing transaction initiated by Solaris.

initiator_reference
string

Unique reference for the transaction's initiator.

charge_details
string

Transaction charge details. Only relevant for bookings with the type TARGET2_CREDIT_TRANSFER.

Enum: "DEBT" "SHAR" "CRED"
Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "id": "fe6561bdb526ed8866e9dac00bd1848ecboo",
  • "creation_date": "2022-01-18",
  • "valuta_date": "2022-01-18",
  • "booking_date": "2022-01-18",
  • "booking_type": "SEPA_CREDIT_TRANSFER",
  • "amount": {
    },
  • "description": "BERLINER VOLKSBANK EG, TXL ABFLUG",
  • "purpose_code": "null",
  • "recipient_bic": "SOBKDEBBXXX",
  • "recipient_iban": "DE97110101002242911754",
  • "recipient_name": "SURIA LUIS VENTURA VIERA PEREIRA RIBEIRO",
  • "receiver_iban_virtual": "string",
  • "sender_bic": "SOBKDEBBXXX",
  • "sender_iban": "DE95110101000018501020",
  • "sender_name": "HANS MUSTERMANN",
  • "end_to_end_id": "END2ENDREJ",
  • "creditor_identifier": "DE98ZZZ09999999999",
  • "mandate_reference": "00000000000001",
  • "transaction_id": "d651ee23300b4e7c8fe7b7e2b2e96trx",
  • "return_transaction_id": "758ea4a268974284ae7af17871f3fdc4",
  • "sepa_charges": {
    },
  • "sepa_return_code": "AC01",
  • "sepa_return_reason": "string",
  • "sepa_return_reason_definition": "string",
  • "meta_info": "\"{\\\"cards\\\":{\\\"card_id\\\":\\\"642b84f1f1960a40a471425c98996941mcrd\\\",\\\"merchant\\\":{\\\"id\\\":\\\"123456789101112\\\",\\\"country_code\\\":\\\"DE\\\",\\\"category_code\\\":\\\"5411\\\",\\\"post_code\\\":\\\"\\\",\\\"state\\\":\\\"\\\",\\\"street_address\\\":\\\"\\\",\\\"name\\\":\\\"testwithMaria AG\\\",\\\"town\\\":\\\"Berlin\\\"},\\\"original_amount\\\":{\\\"fx_rate\\\":1,\\\"currency\\\":\\\"EUR\\\",\\\"value\\\":-1000},\\\"pos_entry_mode\\\":\\\"CONTACTLESS\\\",\\\"trace_id\\\":\\\"652bb834cd7a06b484e9731413cfc89d45100d8b\\\",\\\"transaction_date\\\":\\\"2022-01-20\\\",\\\"transaction_time\\\":\\\"2023-06-26T09:51:13.680259227Z\\\",\\\"transaction_type\\\":\\\"PURCHASE\\\",\\\"ancillary_fees\\\":\\\"[{\\\\\\\"name\\\\\\\":\\\\\\\"BUNDLED_SERVICE\\\\\\\",\\\\\\\"amount\\\\\\\":11111},{\\\\\\\"name\\\\\\\":\\\\\\\"BAGGAGE_FEE\\\\\\\",\\\\\\\"amount\\\\\\\":22222}]\\\",\\\"recorded_at\\\":\\\"2023-06-26T09:52:26Z\\\",\\\"reconciliation_id\\\":null,\\\"auth_code\\\":\\\"234567\\\",\\\"terminal_id\\\":\\\"12345678\\\",\\\"acquirer_id\\\":\\\"123456\\\",\\\"card_scheme\\\":\\\"VISA\\\",\\\"wallet_type\\\":\\\"APPLE\\\",\\\"device_pan\\\":\\\"\\\"}}\", ",
  • "recorded_at": "2022-01-24T00:41:57.634Z",
  • "reconciliation_id": "87271dda6e454393036b4ec2b64b2221itrx",
  • "initiator_reference": "string",
  • "charge_details": "CRED"
}

BUSINESS_CHANGEDWebhook

One or more attributes of a business were changed. This webhook does not come with a payload. The notification includes the ID of the business that was changed in the header.

Request
header Parameters
Solaris-Entity-Id
string

ID of the business whose attributes changed.

Example: 211c5c2f34ac442ff6f93d09fc8fb3edcbiz
Request Body schema: application/json
object
Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{ }

BUSINESS_DELETEDWebhook

Solaris has deleted all data related to the given business from its system.
Important: When you receive a notification of this type, you must immediately delete all data related to the business specified in the webhook header.

Request
header Parameters
Solaris-Entity-Id
string

ID of the business whose data you must delete.

Example: cba4289c773b7450482ee88a6e5126e9cbiz
Request Body schema: application/json
object
Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{ }

(Legacy) BUSINESS_DIRECT_DEBIT_PROFILE_BLOCK_CANCELLEDDeprecatedWebhook

A scheduled block on a business' SEPA Direct Debit profile was canceled.

Request
Request Body schema: application/json
id
string

ID of the SEPA Direct Debit profile.

status
string

Indicates whether or not the SEPA Direct Debit profile has been accepted and whether or not it is active.

Enum: "ACCEPTED" "REJECTED" "ACTIVE" "BLOCKED" "EXPIRED"
status_reasons
string

Associated reasoning behind REJECTED and BLOCKED statuses.

object or null

The available collection limit for the profile.

Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "id": "3cab044cedf84443841d489547177469",
  • "status": "ACCEPTED",
  • "status_reasons": "string",
  • "collection_limit": {
    }
}

(Legacy) BUSINESS_DIRECT_DEBIT_PROFILE_BLOCK_SCHEDULEDDeprecatedWebhook

A block was scheduled on a business' SEPA Direct Debit profile.

Request
Request Body schema: application/json
id
string

ID of the SEPA Direct Debit profile.

status
string

Indicates whether or not the SEPA Direct Debit profile has been accepted and whether or not it is active.

Enum: "ACCEPTED" "REJECTED" "ACTIVE" "BLOCKED" "EXPIRED"
status_reasons
string

Associated reasoning behind REJECTED and BLOCKED statuses.

object or null

The available collection limit for the profile.

Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "id": "3cab044cedf84443841d489547177469",
  • "status": "ACCEPTED",
  • "status_reasons": "string",
  • "collection_limit": {
    }
}

BUSINESS_FRONTING_APPLICATIONWebhook

The status of a business fronting loan application has changed.

Request
Request Body schema: application/json
id
string

The ID of the relevant business fronting loan application.

status
string

The status of the business fronting loan application.

Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "id": "89d4eaaa73ec4a73a0b9d40fb5d9da9cbfla",
  • "status": "approved"
}

BUSINESS_FRONTING_LOAN_PAYOUTWebhook

The status of a fronting loan payout has changed to payout_issued.

Request
Request Body schema: application/json
agio
required
number <float>

The credit commission amount.

required
object

The loan amount.

application_id
required
string

The unique ID of the business fronting loan application.

collateral_account_iban
required
string

Your Solaris prefund account from which the full loan amount (agio + net loan amount) must be transferred to Solaris' settlement account.

collection_account_iban
required
string

Your account to which the agio is transferred.

duration
required
integer

The number of months over which the loan will be repaid.

effective_interest_rate
required
number <float>

The effective annual interest rate applied to the loan.

id
required
string

The unique ID of a business fronting loan.

nominal_interest_rate
required
number <float>

The nominal interest rate applied to the loan.

recipient_iban
required
string

The IBAN of the loan's recipient, to which the loan will be paid out.

recipient_name
required
string

The name of the loan recipient.

settlement_account_iban
required
string

The Solaris settlement account from which the loan amount is transferred to the business's account.

status
required
string

The status of the business fronting loan.

Enum: "payout_pending" "payout_issued"
status_reason
string or null

The status reason of the business fronting loan.

Enum: "closed" "terminated"
Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "agio": 0,
  • "amount": {
    },
  • "application_id": "89d4eaaa73ec4a73a0b9d40fb5d9da9cbfla",
  • "collateral_account_iban": "DE85110101014480677574",
  • "collection_account_iban": "DE87110101001000057123",
  • "duration": 24,
  • "effective_interest_rate": 0.309,
  • "id": "13651d2f3a274e768ec6d45b036e0f14bflo",
  • "nominal_interest_rate": 0.299,
  • "recipient_iban": "DE92370601930002130041",
  • "recipient_name": "Max Mustermann",
  • "settlement_account_iban": "DE07110101014503906016",
  • "status": "payout_issued",
  • "status_reason": "closed"
}

BUSINESS_FRONTING_PAYOUT_UPDATEWebhook

The status of a partial fronting loan payout has changed to transfers_complete.

Request
Request Body schema: application/json
required
object

The amount of the loan payout.

id
required
string

The unique ID of a business fronting loan's payout.

loan_id
required
string

The unique ID of the business fronting loan.

recipient_iban
required
string

The IBAN of the loan payout's recipient.

recipient_name
required
string

The name of the loan payout's recipient.

status
required
string

The status of the business fronting loan's payout.

Enum: "transfers_pending" "transfers_complete"
tag
required
string

The tag of the business fronting loan's payout.

Enum: "INITIAL_PAYOUT" "RETENTION_FEE" "FACTORING_INTEREST"
transaction_description
string or null

The transaction reference, which the recipient will see. Only use characters allowed by SEPA in this field.

transaction_end_to_end_id
string or null

SEPA identifier (provided by the end customer who initiated the SEPA transaction), routed through the whole payment process. (Max 35 characters without whitespace)

Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "amount": {
    },
  • "id": "963347398e47416c9df216a63ef035c2bflp",
  • "loan_id": "29e1a05906954ce082ec779d81de8c1ebflo",
  • "recipient_iban": "DE92370601930002130041",
  • "recipient_name": "Max Mustermann",
  • "status": "transfers_pending",
  • "tag": "INITIAL_PAYOUT",
  • "transaction_description": "Example transaction.",
  • "transaction_end_to_end_id": "DDHHDHG333243"
}

BUSINESS_FRONTING_RELATIONSHIP_STATUS_CHANGEDWebhook

The status of the fronting business relationship with a customer has changed.

Request
Request Body schema: application/json
id
string

The ID of the business resource whose business relationship status has changed.

status
string

The status of the business relationship.

Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "id": "3311ac2c0a6243a8836ab290380918facbiz",
  • "status": "active"
}

BUSINESS_IDENTIFICATIONWebhook

A business identification was created, or its status was updated. The primary purpose of this webhook is to deliver the URL where the customer must be redirected to complete a video identification.

Request
Request Body schema: application/json
id
string

The unique ID of the business identification resource.

method
string

The identification method. Default value is idnow.

Enum: "idnow" "itm" "import"
reference
string or null

The reference of the itm identification request. Empty when the identification method is idnow.

url
string

The URL to which you must redirect the business' legal representative(s) and/or authorized person(s) to complete the identification process.

status
string

The status of the business identification process.

Enum: "created" "pending" "successful" "failed" "expired"
completed_at
string or null

The date and time when the business identification was completed.

business_id
string

The ID of the business resource.

Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "id": "4c74c804eaea5d2a2d64ef400a27a4d3bid",
  • "method": "idnow",
  • "reference": null,
  • "status": "pending",
  • "completed_at": null,
  • "business_id": "880bbac68a34add190786b9c74f4c82fcbiz"
}

BUSINESS_SEIZURE_CREATEDWebhook

Solaris has received a request from the authorities (e.g., court, governmental agency) to seize the account(s) of a business.

Request
Request Body schema: application/json
id
string

Unique ID of the seizure resource.

enactment_date
string <date>

The date when the authority issued the seizure.

delivery_date
string

The date when the seizure notice was delivered to Solaris.

authority_name
string

The name of the authority that issued the seizure.

resolution_case_number
string

The seizure's case ID number, generated by the issuing authority.

seizure_type
string

The type of seizure.

Enum: "ATTACHMENT" "AUTHORITY_SEIZURE" "COURT_SEIZURE" "PRE_ATTACHMENT"
status
string

The current status of the seizure.

Enum: "ACTIVE" "FULFILLED" "WAITING_FOR_AUTHORITY"
object

Object that represents the amount of the debt.

object

Additional costs of the seizure.

object

Object that contains the name and address information of the debtor.

object

Object that contains the name and address information of the creditor.

object

Object containing information about a person or an entity that represents the creditor (i.e., a third-party liaison between the debtor and creditor).

automatic_payout_date
string

The automatic payout date of the seizure amount.

insolvency
boolean

Field to indicate whether or not there's an insolvency case related to the customer.

social_benefits
boolean

Field to indicate whether or not social benefits are applicable to the customer.

seizure_protected
boolean

Field to indicate whether or not there's a seizure protection related to the customer.

automated
boolean

Field to indicate whether or not the seizure will be processed automatically or manually.

country
string

The country in which the seizure happened.

multiple_drittschuldner
boolean

Field to indicate whether or not there are multiple third party debtors related to the customer.

customer_id
string

The person or business ID of the customer whose account has the seizure.

customer_type
string

The type of customer whose account has the seizure.

Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "id": "211c5c2f34ac442ff6f93d09fc8fb3edseiz",
  • "enactment_date": "2019-01-31",
  • "delivery_date": "2019-01-28",
  • "authority_name": "Court",
  • "resolution_case_number": "Number 212121212",
  • "seizure_type": "COURT_SEIZURE",
  • "status": "ACTIVE",
  • "amount": {
    },
  • "additional_cost": {
    },
  • "debtor": {
    },
  • "creditor": {
    },
  • "creditor_representative": {
    },
  • "automatic_payout_date": "2022-01-29",
  • "insolvency": false,
  • "social_benefits": false,
  • "seizure_protected": false,
  • "automated": true,
  • "country": "DE",
  • "multiple_drittschuldner": true,
  • "customer_id": "880bbac68a34add190786b9c74f4c82fcbiz",
  • "customer_type": "Business"
}

BUSINESS_SEIZURE_DELETEDWebhook

Solaris has removed a seizure for a business because it was created by mistake.

Request
Request Body schema: application/json
id
string

Unique ID of the seizure resource.

enactment_date
string <date>

The date when the authority issued the seizure.

delivery_date
string

The date when the seizure notice was delivered to Solaris.

authority_name
string

The name of the authority that issued the seizure.

resolution_case_number
string

The seizure's case ID number, generated by the issuing authority.

seizure_type
string

The type of seizure.

Enum: "ATTACHMENT" "AUTHORITY_SEIZURE" "COURT_SEIZURE" "PRE_ATTACHMENT"
status
string

The current status of the seizure.

Enum: "ACTIVE" "FULFILLED" "WAITING_FOR_AUTHORITY"
object

Object that represents the amount of the debt.

object

Additional costs of the seizure.

object

Object that contains the name and address information of the debtor.

object

Object that contains the name and address information of the creditor.

object

Object containing information about a person or an entity that represents the creditor (i.e., a third-party liaison between the debtor and creditor).

customer_id
string

The person or business ID of the customer whose seizure was deleted.

customer_type
string

The type of customer whose account has the seizure.

Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "id": "211c5c2f34ac442ff6f93d09fc8fb3edseiz",
  • "enactment_date": "2019-01-31",
  • "delivery_date": "2019-01-28",
  • "authority_name": "Court",
  • "resolution_case_number": "Number 212121212",
  • "seizure_type": "COURT_SEIZURE",
  • "status": "ACTIVE",
  • "amount": {
    },
  • "additional_cost": {
    },
  • "debtor": {
    },
  • "creditor": {
    },
  • "creditor_representative": {
    },
  • "customer_id": "880bbac68a34add190786b9c74f4c82fcbiz",
  • "customer_type": "Business"
}

BUSINESS_SEIZURE_FULFILLEDWebhook

The status of a seizure on a business has changed to FULFILLED.

Request
Request Body schema: application/json
id
string

Unique ID of the seizure resource.

enactment_date
string <date>

The date when the authority issued the seizure.

delivery_date
string

The date when the seizure notice was delivered to Solaris.

authority_name
string

The name of the authority that issued the seizure.

resolution_case_number
string

The seizure's case ID number, generated by the issuing authority.

seizure_type
string

The type of seizure.

Enum: "ATTACHMENT" "AUTHORITY_SEIZURE" "COURT_SEIZURE" "PRE_ATTACHMENT"
status
string

The current status of the seizure.

Enum: "ACTIVE" "FULFILLED" "WAITING_FOR_AUTHORITY"
object

Object that represents the amount of the debt.

object

Additional costs of the seizure.

object

Object that contains the name and address information of the debtor.

object

Object that contains the name and address information of the creditor.

object

Object containing information about a person or an entity that represents the creditor (i.e., a third-party liaison between the debtor and creditor).

customer_id
string

The person or business ID of the customer whose seizure was fulfilled.

customer_type
string

The type of customer whose account has the seizure.

Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "id": "211c5c2f34ac442ff6f93d09fc8fb3edseiz",
  • "enactment_date": "2019-01-31",
  • "delivery_date": "2019-01-28",
  • "authority_name": "Court",
  • "resolution_case_number": "Number 212121212",
  • "seizure_type": "COURT_SEIZURE",
  • "status": "FULFILLED",
  • "amount": {
    },
  • "additional_cost": {
    },
  • "debtor": {
    },
  • "creditor": {
    },
  • "creditor_representative": {
    },
  • "customer_id": "880bbac68a34add190786b9c74f4c82fcbiz",
  • "customer_type": "Business"
}

BUSINESS_SEIZURE_UPDATEDWebhook

The processing method for a seizure for a business has switched from automated to manual.

Request
Request Body schema: application/json
id
string

Unique ID of the seizure resource.

enactment_date
string <date>

The date when the authority issued the seizure.

delivery_date
string

The date when the seizure notice was delivered to Solaris.

authority_name
string

The name of the authority that issued the seizure.

resolution_case_number
string

The seizure's case ID number, generated by the issuing authority.

seizure_type
string

The type of seizure.

Enum: "ATTACHMENT" "AUTHORITY_SEIZURE" "COURT_SEIZURE" "PRE_ATTACHMENT"
status
string

The current status of the seizure.

Enum: "ACTIVE" "FULFILLED" "WAITING_FOR_AUTHORITY"
object

Object that represents the amount of the debt.

object

Additional costs of the seizure.

object

Object that contains the name and address information of the debtor.

object

Object that contains the name and address information of the creditor.

object

Object containing information about a person or an entity that represents the creditor (i.e., a third-party liaison between the debtor and creditor).

automatic_payout_date
string

The automatic payout date of the seizure amount.

insolvency
boolean

Field to indicate whether or not there's an insolvency case related to the customer.

social_benefits
boolean

Field to indicate whether or not social benefits are applicable to the customer.

seizure_protected
boolean

Field to indicate whether or not there's a seizure protection related to the customer.

automated
boolean

Field to indicate whether or not the seizure will be processed automatically or manually.

country
string

The country in which the seizure happened.

multiple_drittschuldner
boolean

Field to indicate whether or not there are multiple third party debtors related to the customer.

customer_id
string

The person or business ID of the customer whose account has the seizure.

customer_type
string

The type of customer whose account has the seizure.

Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "id": "211c5c2f34ac442ff6f93d09fc8fb3edseiz",
  • "enactment_date": "2019-01-31",
  • "delivery_date": "2019-01-28",
  • "authority_name": "Court",
  • "resolution_case_number": "Number 212121212",
  • "seizure_type": "COURT_SEIZURE",
  • "status": "ACTIVE",
  • "amount": {
    },
  • "additional_cost": {
    },
  • "debtor": {
    },
  • "creditor": {
    },
  • "creditor_representative": {
    },
  • "automatic_payout_date": "2022-01-29",
  • "insolvency": false,
  • "social_benefits": false,
  • "seizure_protected": false,
  • "automated": false,
  • "country": "DE",
  • "multiple_drittschuldner": true,
  • "customer_id": "880bbac68a34add190786b9c74f4c82fcbiz",
  • "customer_type": "Business"
}

BUSINESS_TAX_IDENTIFICATION_CHANGEDWebhook

The tax identification number of a business was modified. The webhook contains the id of the relevant business tax identification in the header and the id of the relevant business in the payload.

Request
header Parameters
Solaris-Entity-Id
string

ID of the business tax identification that triggered the webhook notification.

Example: cba4289c773b7450482ee88a6e5126e9ctin
Request Body schema: application/json
id
string

The ID of the business whose tax identification has changed.

Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "id": "e51dac3dfa8bd52f9df1a50b091dcbiz"
}

CARD_AUTHORIZATIONWebhook

An authorization was created on a customer's account following a card transaction.

Request
Request Body schema: application/json
id
string

ID of the reservation related to the card transaction.

object

Amount of the reservation related to the card transaction (in Euro cents).

reservation_type
string

The type of reservation.

Value: "CARD_AUTHORIZATION"
reference
string
status
string

The current status of the reservation. Possible values are OPEN and RESOLVED.

Enum: "OPEN" "RESOLVED"
object (Solaris-Resources-MetaInfo)

An object containing all meta information related to the reservation.

expires_at
string

UTC timestamp when the reservation will expire.

expired_at
string or null

UTC timestamp from when the authorization expired (null if it hasn't expired).

resolved_at
string or null

UTC timestamp from when the authorization was resolved.

description
string

A description of the transaction related to the authorization.

Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "id": "b814e2213c5c45149945ed53422db0c4cres",
  • "amount": {
    },
  • "reservation_type": "CARD_AUTHORIZATION",
  • "reference": "string",
  • "status": "OPEN",
  • "meta_info": {
    },
  • "expires_at": "2020-03-30T00:00:00Z",
  • "expired_at": null,
  • "resolved_at": null,
  • "description": "PAYPAL *RECISIO KAR, 35314369001"
}

(Legacy) CARD_AUTHORIZATION_DECLINEDeprecatedWebhook

A customer's card transaction was declined. Click here to see the full list of possible reasons.
Note: This webhook event is deprecated. Please use CARD_AUTHORIZATION_DECLINE_V2 instead.

Request
Request Body schema: application/json
reason
string

The reason why the card authorization was declined.

Enum: "3DS_FAILED" "ACCOUNT_CLOSED" "ACCOUNT_LIMIT_REACHED" "AUTHENTICATION_REQUIRED" "CARD_BLOCKED" "CARD_INACTIVE" "CARD_NOT_PRESENT_AMOUNT_LIMIT_REACHED_DAILY" "CARD_NOT_PRESENT_AMOUNT_LIMIT_REACHED_MONTHLY" "CARD_NOT_PRESENT_USE_LIMIT_REACHED_DAILY" "CARD_NOT_PRESENT_USE_LIMIT_REACHED_MONTHLY" "CARD_PRESENT_AMOUNT_LIMIT_REACHED_DAILY" "CARD_PRESENT_AMOUNT_LIMIT_REACHED_MONTHLY" "CARD_PRESENT_USE_LIMIT_REACHED_DAILY" "CARD_PRESENT_USE_LIMIT_REACHED_MONTHLY" "CASH_ADVANCE_AMOUNT_LIMIT_REACHED_DAILY" "CASH_ADVANCE_AMOUNT_LIMIT_REACHED_MONTHLY" "CONTACT_BANK" "CVV_INCORRECT" "DUPLICATE_TRASACTION" "EXPIRY_DATE_INVALID" "FRAUD_SUSPECTED" "INSUFFICIENT_FUNDS" "INVALID_PIN_BLOCKED" "PIN_ENTRY_TIMEOUT" "PIN_INCORRECT" "REPLACEMENT_CARD_ACTIVATED" "RETRY_WITH_CHIP_AND_PIN" "SCA_REQUIRED" "TERMINAL_ERROR"
object

Object containing information about the declined transaction.

Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "reason": "AUTHENTICATION_REQUIRED",
  • "card_transaction": {
    }
}

CARD_AUTHORIZATION_DECLINE_V2Webhook

A customer's card transaction was declined. Click here to see the full list of possible reasons.

Request
Request Body schema: application/json
Array of objects

Array of objects containing information about why the transaction was declined. A transaction may have been declined for multiple reasons.

object

Object containing information about the declined transaction.

Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "reasons": [
    ],
  • "card_transaction": {
    }
}

CARD_AUTHORIZATION_RESOLUTIONWebhook

A reservation for a card transaction was cancelled or booked, or it expired. You do not have to send the customer a push notification for this webhook.

Request
Request Body schema: application/json
id
string

ID of the reservation.

object

Amount of the reservation (in Euro cents).

reservation_type
string

The type of reservation.

Value: "CARD_AUTHORIZATION"
reference
string

Unique reference for the authorization.

status
string

The current status of the reservation.

Value: "RESOLVED"
object (Solaris-Resources-MetaInfo)

An object containing all meta information related to the reservation.

expires_at
string

UTC timestamp when the reservation will expire.

expired_at
string or null

UTC timestamp from when the authorization expired (null if it hasn't expired).

resolved_at
string or null

UTC timestamp from when the authorization was resolved.

description
string

A description of the transaction.

Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "id": "b814e2213c5c45149945ed53422db0c4cres",
  • "amount": {
    },
  • "reservation_type": "CARD_AUTHORIZATION",
  • "reference": "0e30e961-9abd-41a2-bbd6-4730a22f17fd",
  • "status": "RESOLVED",
  • "meta_info": {
    },
  • "expires_at": "2020-03-30T00:00:00Z",
  • "expired_at": null,
  • "resolved_at": "2020-03-30T00:10:00Z",
  • "description": "PAYPAL *RECISIO KAR, 35314369001"
}

CARD_FRAUD_CASE_PENDINGWebhook

A fraud case was recorded on a transaction made by a customer's card, and it requires the customer's immediate response (over a prompt provided by your frontend). See the Cards Smart Agent guide for more information.

Request
Request Body schema: application/json
id
string

ID of the fraud case.

resolution
string

The current status of the fraud case.

Enum: "CONFIRMED" "PENDING" "TIMEOUT" "WHITELISTED"
respond_until
string

Timestamp indicating the deadline for the customer to confirm that the transaction is not fraudulent.

whitelisted_until
string or null

Timestamp indicating how long transactions will be whitelisted for the given card after confirming that a transaction was not fraudulent (i.e., 10 minutes after making the API call).

object

Object containing information about the declined transaction.

Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "id": "154dca58bb1b5c8701039fa6514ffc66frdcs",
  • "resolution": "PENDING",
  • "respond_until": "2020-05-05T11:54:26Z",
  • "whitelisted_until": null,
  • "card_transaction": {
    }
}

CARD_FRAUD_CASE_TIMEOUTWebhook

A fraud case that was recorded for a transaction with a customer's card did not receive a response from the customer within 30 minutes. See the Cards Smart Agent guide for more information.

Request
Request Body schema: application/json
id
string

ID of the fraud case.

resolution
string

The current status of the fraud case.

Enum: "CONFIRMED" "PENDING" "TIMEOUT" "WHITELISTED"
respond_until
string

Timestamp indicating the deadline for the customer to confirm that the transaction is not fraudulent.

whitelisted_until
string or null

Timestamp indicating how long transactions will be whitelisted for the given card after confirming that a transaction was not fraudulent (i.e., 10 minutes after making the API call).

object

Object containing information about the declined transaction.

Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "id": "154dca58bb1b5c8701039fa6514ffc66frdcs",
  • "resolution": "TIMEOUT",
  • "respond_until": "2020-05-05T11:54:26Z",
  • "whitelisted_until": null,
  • "card_transaction": {
    }
}

CARD_LIFECYCLE_EVENTWebhook

The status of a customer's card has changed. You can find the full list of available statuses here.

Request
Request Body schema: application/json
id
string

ID of the card.

status
string

The current status of the card.

Enum: "ACTIVE" "ACTIVATION_BLOCKED_BY_SOLARIS" "BLOCKED" "BLOCKED_BY_SOLARIS" "CLOSED" "CLOSED_BY_SOLARIS" "COUNTERFEIT_CARD" "FRAUD" "INACTIVE" "LOST" "NEVER_RECEIVED" "PROCESSING" "STOLEN"
reference
string

Unique reference number for the card.

type
string

The type of the card. Note The following enum list is not exhaustive but only indicative of some possible values.

Enum: "MASTERCARD_DEBIT" "MASTERCARD_BUSINESS_DEBIT" "VIRTUAL_MASTERCARD_DEBIT" "VIRTUAL_MASTERCARD_BUSINESS_DEBIT" "VIRTUAL_MASTERCARD_FREELANCE_DEBIT" "VISA_DEBIT" "VISA_BUSINESS_DEBIT" "VIRTUAL_VISA_DEBIT" "VIRTUAL_VISA_BUSINESS_DEBIT" "VIRTUAL_VISA_FREELANCE_DEBIT" "VISA_CREDIT" "VIRTUAL_VISA_CREDIT" "VISA_BUSINESS_CREDIT" "VIRTUAL_VISA_BUSINESS_CREDIT"
expiration_date
string

The expiration date of the card.

person_id
string

ID of the cardholder person resource.

account_id
string

ID of the account to which the card is tied.

business_id
string

(For business cards) ID of the business with which the card is associated.

object (Solaris_Decorators_PublicPlasticCard)

Object containing information about the cardholder, the card's masked PAN, and the formatted expiration date.

Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "id": "8febdba4912a747808ccc6f95f82bbb4",
  • "status": "ACTIVE",
  • "reference": "87285d83-ab15-4906-af87-5763801d9e43",
  • "type": "MASTERCARD_DEBIT",
  • "expiration_date": "2020-12-30",
  • "person_id": "5af2ea4271038d5c53e68ccbf4fe43b3cper",
  • "account_id": "a5844f601567db9b59b3531245a58e96cacc",
  • "business_id": "52e6a9b8a559d842ed7d8901b0e1bf4bcbiz",
  • "representation": {
    }
}

CARD_TOKEN_LIFECYCLEWebhook

A push provisioning token has been created or updated for a customer's card.

Request
Request Body schema: application/json
card_id
string

The ID of the card associated with the token.

token_reference_id
string

The unique reference ID of the token that was created.

token_status
string

The status of the token.

Enum: "ACTIVE" "DEACTIVATED" "INACTIVE" "SUSPENDED"
event_type
string

The event type of the token's lifecycle.

Enum: "TOKEN_CREATED" "TOKEN_STATUS_UPDATED" "TOKEN_ACTIVATION_STIP"
message_reason
string

Token's lifecycle event reason (from VISA's constantly changing message reason codes, e.g., TOKEN_CREATED).

Enum: "CALL_CENTER_ACTIVATION" "CARDHOLDER_STEPUP_RESULT" "DEVICE_PROVISIONING_REPERSONALIZATION_RESULT" "DEVICE_PROVISIONING_RESULT" "LUK_REPLENISHMENT" "MOBILE_BANK_APP_ACTIVATION" "OTP_VERIFICATION_RESULT" "TOKEN_CREATED" "TOKEN_DEACTIVATED" "TOKEN_DEVICE_BINDING_REMOVED" "TOKEN_DEVICE_BINDING_RESULT" "TOKEN_EXPIRY_DATE_UPDATED" "TOKEN_RESUME" "TOKEN_SUSPEND" "TRUSTED_LISTING_ENROLLMENT_RESULT"
client_wallet_account_id
string

Unique 24-byte identifier for each instance of a [Android user, Google account] pair. Google computes the ID as a keyed hash of the Android user ID and the Google account ID. The key to this hash lives on Google's servers; the wallet ID is created during user setup as an RPC.

wallet_type
string

The type of the wallet.

Enum: "APPLE" "GOOGLE" "SAMSUNG"
visa_pan_reference_id
string
Deprecated

ID of the Primary Account Number (PAN) reference. Only appears in webhook notifications related to VISA cards. Deprecated in favor of pan_reference_id.

pan_reference_id
string

ID of the Primary Account Number (PAN) reference.

Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "card_id": "8b48d56bdc1c091d9ab5547fe0e9511bmcrd",
  • "token_reference_id": "DNITHE382228352676336613",
  • "token_status": "ACTIVE",
  • "event_type": "TOKEN_CREATED",
  • "message_reason": "TOKEN_CREATED",
  • "client_wallet_account_id": "Rwt3tJek_k1JxivcwbPHjKDk",
  • "wallet_type": "APPLE",
  • "visa_pan_reference_id": "V-3019278454673935797827",
  • "pan_reference_id": "V-3019278454673935797827"
}

CASH_OPERATION_STATUS_CHANGEDWebhook

A customer has paid out/paid in to a cash operation, or the cash operation has expired.

Request
Request Body schema: application/json
id
string

ID of the cash operation.

barcode_ean_13
string

The EAN-13 barcode that your solution must generate so that the customer can present it at the merchant POS to complete the cash operation.

expires_at
string <date-time>

The date and time when the cash operation barcode expires.

status
string

The current status of the cash operation.

Enum: "PENDING" "CREATED" "PAID" "EXPIRED" "CANCELLED"
reference_id
string

End-to-end reference for the customer.

person_id
string

ID of the person who initiated the cash operation.

Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "id": "string",
  • "barcode_ean_13": "string",
  • "expires_at": "2019-08-24T14:15:22Z",
  • "status": "PENDING",
  • "reference_id": "string",
  • "person_id": "string"
}

CONSUMER_FRONTING_APPLICATIONWebhook

The status of a consumer loan application has changed.

Request
Request Body schema: application/json
agio
required
number <float>

The credit commission amount.

required
object

The loan amount.

application_id
required
string

The unique ID of a consumer fronting loan application.

collateral_account_iban
required
string

Your Solaris prefund account from which the full loan amount (agio + net loan amount) must be transferred to Solaris' settlement account.

collection_account_iban
required
string

Your account to which the agio is transferred.

duration
required
integer

The number of months over which the loan will be repaid.

id
required
string

The unique ID of the fronting loan, generated after a loan is created for the customer.

recipient_iban
required
string

The IBAN of the loan's recipient to which the loan will be paid out.

recipient_name
required
string

The name of the loan recipient.

requested_interest_rate
required
number <float>

The interest rate to apply to the fronting loan.

settlement_account_iban
required
string

The Solaris settlement account from which the loan amount is transferred to the customer's account.

status
required
string

The status of the consumer fronting loan.

Enum: "payout_issued" "payout_pending"
Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "agio": 0,
  • "amount": {
    },
  • "application_id": "504f3c3659e14079a6941fe5b7a75eaacfla",
  • "collateral_account_iban": "DE85110101014480677574",
  • "collection_account_iban": "DE87110101001000057123",
  • "duration": 12,
  • "id": "620b95f7987243d398c2621c889a2039cflo",
  • "recipient_iban": "DE92370601930002130041",
  • "recipient_name": "Max Mustermann",
  • "requested_interest_rate": 0.04,
  • "settlement_account_iban": "DE07110101014503906016",
  • "status": "payout_issued"
}

CONSUMER_LOAN_APPLICATIONWebhook

The status of a consumer loan application has changed.

Request
Request Body schema: application/json
entity_uuid
string

Resource unique ID.

event_type
string

Webhook event

object (ConsumerLoan.GetApplicationResponse)
Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "entity_uuid": "c5fe9ff6a90f47708e2d865d553c24f2clap",
  • "event_type": "CONSUMER_LOAN_APPLICATION",
  • "payload": {
    }
}

CONSUMER_OVERDRAFTWebhook

The status of a consumer overdraft has changed.

Request
Request Body schema: application/json
status
required
string

The status of an overdraft offered to a consumer.

Enum: "created" "conditions_pending" "limit_pending" "attached" "defaulted_pending" "conditions_termination_pending" "termination_pending" "terminated"
person_id
required
string

The unique person ID, generated after completing the person onboarding process.

overdraft_rate
required
number <float>

The interest rate applicable to the overdraft.

negative_since
required
string or null <datetime>

The date and time when overdraft went negative.

object or null (SolarisToolkit.Web.Money.Optional)
required
SolarisToolkit.Web.Money (object)

The daily interest accrued by an person account.

interest_accrual_rate
required
number <float>

The daily rate at which interest is accrued on the used amount of an overdraft.

id
required
string

The unique ID of a consumer overdraft, generated after an overdraft is offered.

created_at
required
string <datetime>

The date and time the overdraft was created.

consumer_application_id
required
string

The unique ID of a consumer overdraft application.

account_iban
required
string

The IBAN of a person account.

Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "status": "created",
  • "person_id": "dc1a6812a14f6cc338cd084208535bcdcper",
  • "overdraft_rate": 9,
  • "negative_since": "2021-08-03T18:01:48Z",
  • "limit": {
    },
  • "interest_accrued": {
    },
  • "interest_accrual_rate": 3,
  • "id": "00556cd181f2409aaa6c2a033cce3a8fcovd",
  • "created_at": "2021-08-03T18:01:48.000Z",
  • "consumer_application_id": "b83z264de98741018419b53648e20ca9coap",
  • "account_iban": "DE87110101001000057123"
}

CONSUMER_OVERDRAFT_APPLICATIONWebhook

The status of a consumer overdraft application has changed.

Request
Request Body schema: application/json
status_description
string or null

The description of the consumer overdraft application status.

status
required
string

The status of a consumer overdraft application.

Enum: "scoring_pending" "offered" "overdraft_created" "rejected" "deleted"
person_id
required
string

The unique person ID, generated after completing the person onboarding process.

partner_risk_class
string or null

The risk class assigned to a customer by the partner.

object or null (SolarisToolkit.Web.Money.Optional)
partner_reference_number
string or null

The partner's reference number.

partner_id
required
string

The unique partner ID, generated after creating a partner.

partner_contact_number
string or null

The number of the partner's contact person.

partner_contact_name
string or null

The name of the partner's contact person.

overdraft_id
string or null

The unique ID of a consumer overdraft, generated after an overdraft is offered.

object (SolarisToolkit.Web.Money)
object or null

Minimum credit risk criteria fields for scorer

object or null (SolarisToolkit.Web.Money.Optional)
interest_accrual_rate
number or null <float>

Scorer rate for risk based pricing

identification_id
required
string

The unique identification ID of a person, generated after completing the person identification process.

id
required
string

The unique ID of a consumer overdraft application.

employment_status
string or null

The consumer's employment status, mentioned in the signed self-declaration form.

Enum: "EMPLOYED" "UNEMPLOYED" "PUBLIC_SECTOR_EMPLOYEE" "PROFESSIONAL_SOLDIER" "FREELANCER" "HOUSEWORK" "APPRENTICE" "MANAGEMENT" "RETIRED" "STUDENT" "SELF_EMPLOYED" "MILITARY_OR_COMMUNITY_SERVICE"
credit_record_id
string or null

The unique ID of a credit record, generated after creating a consumer credit record.

created_at
required
string <datetime>

The date and time the consumer overdraft application was created.

account_iban
required
string

The IBAN of a person account.

Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "status_description": "The overdraft is approved and offered to the customer.",
  • "status": "offered",
  • "person_id": "dc1a6812a14f6cc338cd084208535bcdcper",
  • "partner_risk_class": "d",
  • "partner_requested_limit": {
    },
  • "partner_reference_number": "a123456",
  • "partner_id": "6ee8e4c8bdc2f9b15870c989706aa9cccpar",
  • "partner_contact_number": "+491565904345",
  • "partner_contact_name": "Peter Mustermann",
  • "overdraft_id": "00556cd181f2409aaa6c2a033cce3a8fcovd",
  • "net_income_amount": {
    },
  • "minimum_credit_risk_criteria": { },
  • "limit": {
    },
  • "interest_accrual_rate": 0,
  • "identification_id": "176a96d1ecf7459d659d1b7f0108a3f2cidt",
  • "id": "b83z264de98741018419b53648e20ca9coap",
  • "employment_status": "EMPLOYED",
  • "credit_record_id": "fbb7d15fa4c54ba0b077592665ef04a4ccrd",
  • "created_at": "2021-08-03T18:01:48.000Z",
  • "account_iban": "DE87110101001000057123"
}

CREDIT_CARD_APPLICATIONWebhook

The status of a credit card application has changed.

Request
Request Body schema: application/json
id
string

The ID of the credit card application.

external_customer_id
string

Arbitrary ID provided by you (e.g., membership ID).

customer_id
string

ID of the person who applied for the credit card.

account_id
string

ID of the Solaris account associated with the credit card.

account_iban
string

IBAN of the Solaris account associated with the credit card.

reference_account_id
string

ID of the reference account associated with the credit card.

status
string

The current status of the credit card.

Enum: "PENDING" "IN_SCORING" "PRE_APPROVED" "FINALIZING" "FINALIZED" "DECLINED" "TERMINATED" "WAITING_FOR_IDENTIFICATION" "IN_KNE_SCORING"
product_type
string

Indicates the type of credit card.

Enum: "CONSUMER_CREDIT_CARD" "FREELANCER_CREDIT_CARD" "BUSINESS_CREDIT_CARD"
billing_start_date
string <date>

The start date of the current billing cycle.

billing_end_date
string <date>

The end date of the current billing cycle.

object

The credit card limit approved for the customer by Solaris.

object

The credit card limit requested by the customer.

object

The current limit applied to the credit card. Can be less than or equal to the approved_limit.

decline_reasons
Array of strings

An array of reasons why the credit card application was declined.

Items Value: "DECLINED_BY_SCORING"
object

Object containing information about the customer's repayment plan for the credit card.

consumer_scoring_options (object) or business_scoring_options (object)

Object containing information about the scoring for the credit card application.

in_dunning
boolean

Boolean value to indicate whether the credit card is currently subject to the dunning process.

created_at
string

The date & time when the credit card application was created.

qes_at
string <date>

The date of QES completion.

active_termination_id
string

ID of the termination of the credit card application.

repayment_type_switch_available_date
string <date>

The date when switch to another repayment type is possible.

Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "id": "6e6fefdcd553468fb04555499f060b18ccla",
  • "external_customer_id": "string",
  • "customer_id": "0ba2211cab11af6094d60ead81f2bd9dcper",
  • "account_id": "c2a13abed3b0686ab5343aa748d7f2fecacc",
  • "account_iban": "DE53110101013323159108",
  • "reference_account_id": "d1ed02309ca52b5e636e215ff82b2d52sddm",
  • "status": "PENDING",
  • "product_type": "CONSUMER_CREDIT_CARD",
  • "billing_start_date": "2022-07-01",
  • "billing_end_date": "2022-07-28",
  • "approved_limit": {
    },
  • "requested_limit": {
    },
  • "current_limit": {
    },
  • "decline_reasons": [
    ],
  • "repayment_options": {
    },
  • "scoring_options": {
    },
  • "in_dunning": true,
  • "created_at": "2023-07-26T11:59:52+00:00",
  • "qes_at": "2022-07-28",
  • "active_termination_id": "c7184779-3a57-5c8c-8ef4-c3aec9528531",
  • "repayment_type_switch_available_date": "2022-07-28"
}

CREDIT_CARD_APPLICATION_TERMINATIONWebhook

A credit card termination was created by Solaris for one of your customers' credit cards, or the status of an open termination has changed.

Request
Request Body schema: application/json
id
string

The ID of the credit card termination.

application_id
string

The ID of the credit card application that is being terminated.

reason
string

The reason for the termination.

Enum: "CUSTOMER_WISH" "OTHER_IMMEDIATE" "OTHER_ORDINARY"
status
string

The current status of the termination.

Enum: "INITIATED" "IN_PROGRESS" "COMPLETED" "REVOKED"
legally_terminated_at
string <date>

The date when the credit card termination will take effect.

revocable_until
string <date>

The date until which the termination can be revoked.

created_at
string <date-time>

UTC timestamp from when the termination was created.

Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "id": "c7184779-3a57-5c8c-8ef4-c3aec9528531",
  • "application_id": "a8cafe0c24e949c78bfbea04cb5b2905ccla",
  • "reason": "CUSTOMER_WISH",
  • "status": "IN_PROGRESS",
  • "legally_terminated_at": "2023-08-31",
  • "revocable_until": "2023-08-02",
  • "created_at": "2023-07-28T14:47:00.000Z"
}

CREDIT_CARD_BILLWebhook

The status of a credit card bill has changed.

Request
Request Body schema: application/json
id
string

UUID of the bill whose status changed.

application_id
string

UUID of the credit card application with which the bill is associated.

status
string

Status of the credit card bill.

Enum: "PENDING" "PAID" "PRELIMINARILY_PAID" "IN_DUNNING" "CLOSED"
start_date
string <date>

The billing cycle start date.

end_date
string <date>

The billing cycle end date.

statement_date
string <date>

Date when the statement was issued.

due_date
string <date>

Date when payment for this bill is due.

sdd_collection_date
string <date>

Date when the SEPA Direct Debit for collecting the payment will occur.

object

The amount of the previous credit card bill.

object

The total outstanding amount for the credit card.

object

The minimum payment the customer must make for this credit card bill.

object

The total amount outstanding for the dunning process.

object

The amount remaining to be paid on the current credit card bill (i.e., the total_outstanding_amount minus any previous payments).

object

The amount of the current credit card bill.

object

The amount of dunning fees applied during this billing cycle.

object

Any other fees applied during this billing cycle.

repayment_type
string

The type of credit card. Possible options are FULL (charge) and PARTIAL (revolving).

Enum: "FULL" "PARTIAL"
grace_period_in_days
integer

Indicates number of days in the grace period for paying off the required amount in each billing cycle.

object

The minimum amount to be repaid each billing cycle.

minimum_percentage
integer

The minimum percentage of the outstanding balance to be repaid each billing cycle.

object

The total amount of interest accrued.

postbox_item_id
string

ID of the Postbox item that corresponds with the credit card bill.

Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "id": "aa21dag9d713a066597474a4568fa015bill",
  • "application_id": "55906d353e6e4208b8172c165d2b61a1ccla",
  • "status": "PAID",
  • "start_date": "2022-04-01",
  • "end_date": "2022-04-30",
  • "statement_date": "2022-05-01",
  • "due_date": "2022-05-15",
  • "sdd_collection_date": "2022-05-16",
  • "previous_bill_amount": {
    },
  • "total_outstanding_amount": {
    },
  • "minimum_due_amount": {
    },
  • "outstanding_sddr_amount": {
    },
  • "outstanding_amount": {
    },
  • "current_bill_amount": {
    },
  • "dunning_fees": {
    },
  • "other_fees": {
    },
  • "repayment_type": "FULL",
  • "grace_period_in_days": 15,
  • "minimum_amount": {
    },
  • "minimum_percentage": 3,
  • "accumulated_interest_amount": {
    },
  • "postbox_item_id": "c072c6e43f4d486cb553e9cd9fc1bae7pbxi"
}

CREDIT_LINE_APPLICATIONWebhook

The status of a consumer credit line application has changed. Please see here all the events that trigger this webhook.

Request
Request Body schema: application/json
status_description
string or null

Additional details about the credit line application status.

status
string

The status of a consumer credit line application.

Enum: "initial_scoring_pending" "account_snapshot_pending" "account_snapshot_verification_pending" "identification_pending" "offered" "esign_pending" "esign_complete" "esign_failed" "credit_line_creation_pending" "credit_line_created" "expired" "deleted" "rejected" "scoring_pending"
signing_id
string or null

The ID of the signing resource, created after the customer's identification and e-signing process has been triggered.

object or null

An object containing certain actions required for the scoring process.

recipient_iban
string or null

The IBAN of the customer's account to use for the account snapshot.

reason
string or null

The reason(s) for rejecting a credit line application.

person_id
string

The person ID of the customer applying for the credit line.

partner_reference_number
string or null

The partner reference number.

object or null (SolarisToolkit.Web.Money.Optional)

The offered credit line limit.

offered_interest_rate
number or null

The offered interest rate to apply to the credit line.

object or null (SolarisToolkit.Web.Money.Optional)

The net disposable income available to the customer after deducting all taxes.

marriage_status
string or null

The customer's marital status.

Enum: "MARRIED" "UNMARRIED" "DIVORCED" "UNKNOWN"
identification_id
string or null

The unique ID of a customer's identification resource.

id
string

The unique ID of a consumer credit line application.

employment_status
string or null

The customer's employment status.

Enum: "EMPLOYED" "UNEMPLOYED" "PUBLIC_SECTOR_EMPLOYEE" "PROFESSIONAL_SOLDIER" "FREELANCER" "HOUSEWORK" "APPRENTICE" "MANAGEMENT" "RETIRED" "STUDENT" "SELF_EMPLOYED" "MILITARY_OR_COMMUNITY_SERVICE"
decision
string or null

Solaris' decision on the credit line application.

Enum: "REJECTED" "OFFERED"
credit_line_id
string or null

The unique ID of a credit line, generated after a credit line is created.

Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "status_description": "string",
  • "status": "account_snapshot_pending",
  • "signing_id": "7c63600ddddec4f2668893af39c1b814csig",
  • "scoring_workflow": {
    },
  • "recipient_iban": "DE92370601930002130041",
  • "reason": "string",
  • "person_id": "dc1a6812a14f6cc338cd084208535bcdcper",
  • "partner_reference_number": "ABHP244919",
  • "offered_limit": {
    },
  • "offered_interest_rate": 2.5,
  • "net_disposable_income": {
    },
  • "marriage_status": "UNMARRIED",
  • "identification_id": "9e2e85c62230a652325964282c84559fcidt",
  • "id": "35eee37033c5436f9cbff6df1f88e097ccla",
  • "employment_status": "EMPLOYED",
  • "decision": "OFFERED",
  • "credit_line_id": "1908331fb8384edcbfe63067366c4b6accln"
}

CREDIT_LINEWebhook

One or more attributes of a credit line were changed. See here all the events that trigger this webhook. Please note that webhook payload is returned as a JSON-encoded string.

Request
Request Body schema: application/json
object

An object containing the webhook payload.

Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "data": {
    }
}

DELEGATE_SCA_CANCELWebhook

A customer has declined the authentication process for a 3DS transaction. After receiving this webhook notification, you can stop showing the authentication screen to the customer. Note: This webhook event is only relevant for the old 3DS flow, which will be deprecated. The new 3DS flow using change request does not make use of this webhook.

Request
Request Body schema: application/json
object

The transaction's amount.

object

The merchant related to the transaction.

challenged_at
string <datetime>

UTC timestamp from when the 3DS challenge was presented to the customer.

expires_at
string <datetime>

UTC timestamp when the 3DS challenge was expired.

person_id
string

The person ID of the customer who initiated the 3DS transaction.

card_id
string

The ID of the card that was used for the 3DS transaction.

authenticate_change_request_id
string

The authorization change request ID.

decline_change_request_id
string

The decline change request ID.

channel
string

The channel that was used for the 3DS transaction.

Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "amount": {
    },
  • "merchant": {},
  • "challenged_at": "2022-11-07T13:34:27+00:00",
  • "expires_at": "2022-11-07T13:39:27+00:00",
  • "person_id": "682a85d7e490c1360f6c2be2f1addd57cper",
  • "card_id": "03bafc5569a53a62dd02ad2e5a789b80mcrd",
  • "authenticate_change_request_id": "bbcafe6e9cc66a4aebaa907cea325435csc",
  • "decline_change_request_id": "6fbb54aebc42e2c5d4dc881d5cf566d6csc",
  • "channel": "browser"
}

DEPOSIT_ACCOUNT_UPDATEDWebhook

The status of a mapping between a customer's main (current) account and a savings account has changed.

Request
Request Body schema: application/json
id
string

ID of the mapping between the main account and the savings account.

status
string

The current status of the savings account.

Enum: "OPENED" "TAX_REGISTERED" "ACTIVE" "INACTIVE"
deposit_type
string

The account type.

Value: "SAVINGS_ACCOUNT"
deposit_account_id
string

ID of the savings account.

main_account_id
string

ID of the main account.

updated_at
string

UTC timestamp from when the mapping status was updated.

Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "id": "13bc0b9d-3321-4bac-84ce-1b300a137d88",
  • "status": "OPENED",
  • "deposit_type": "SAVINGS_ACCOUNT",
  • "deposit_account_id": "e48c29b85992b8772eb7ddd518490920cacc",
  • "main_account_id": "148c29b85992b8772eb7ddd518490110cacc",
  • "updated_at": "2024-04-06T09:03:05.321+00:00"
}

FREELANCER_CREDIT_LINE_APPLICATIONWebhook

The status of a freelancer credit line application has changed.

Request
Request Body schema: application/json
credit_line_id
string or null

The unique ID of a credit line.

decision
string

Solaris' decision on the credit line request.

Enum: "OFFERED" "PENDING" "REJECTED"
id
string

The unique ID of a freelancer credit line application.

identification_id
string or null

The unique identification ID of a freelancer, generated after completing the freelancer identification process.

mandate_reference_number
string or null

The reference number of the mandate applicable on the credit line.

object or null (SolarisToolkit.Web.Money.Optional)

The net disposable income amount available after deducting taxes and all other expenses.

offered_interest_rate
number or null

Solaris' offered interest rate on the installment loan.

object or null (SolarisToolkit.Web.Money.Optional)

The amount of the credit line limit offered to the freelancer.

person_id
string

The unique person ID, generated after completing the person onboarding process.

reason
string or null

Solaris' decision on the credit line request.

recipient_iban
string or null

The IBAN of the beneficiary's account.

status
string

The status of the credit line application.

Enum: "credit_record_pending" "initial_scoring_pending" "account_snapshot_pending" "account_snapshot_verification_pending" "offered" "identification_creation_pending" "identification_pending" "identification_completed" "rejected" "expired" "credit_line_creation_pending" "credit_line_created"
status_description
string or null

The description of the credit line application's status.

Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "credit_line_id": "c5f22b00baa845869ceb3a7d90d59bffccln",
  • "decision": "REJECTED",
  • "id": "7d903b7483294e3b902b89097d699dbdccla",
  • "identification_id": "51462340e8653f8e2864801e8ebb4131cidt",
  • "mandate_reference_number": "LXD3RGLRTP6HHM",
  • "net_disposable_income": {
    },
  • "offered_interest_rate": 0.11,
  • "offered_limit": {
    },
  • "person_id": "ad8f5cefdc73035f17973fecb4fa2ebccper",
  • "reason": "string",
  • "recipient_iban": "DE13110101014386274299",
  • "status": "rejected",
  • "status_description": "Rejected by Scorer"
}

INCOMING_REJECTED_TRANSACTIONWebhook

An incoming transaction to an account was rejected. This webhook is relevant for Restricted Accounts, Decoupled Cards, and Credit Cards. The webhook payload will differ depending on the product.

Request
Request Body schema: application/json
One of:

Webhook payload for Decoupled and Credit Cards.

status
string

The current status of the transaction.

status_reason
string

The reason why the transaction was rejected.

Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "status": "RETURNED",
  • "status_reason": "The debtor name is not matching."
}

IDENTIFICATIONWebhook

A person identification was created, or its status was updated. The primary purpose of this webhook is to deliver the URL where the customer must be redirected to complete a video identification.

Request
Request Body schema: application/json
id
string

ID of the person identification.

reference
string

Reference generated by the identification provider.

url
string

(IDnow only) Redirect URL used to start the identification process.

status
string

The current status of the identification. Note The status value depends on the identification method, check the KYC guides for more information.

Enum: "aborted" "authorization_required" "confirmation_required" "confirmed" "created" "canceled" "expired" "failed" "identification_data_required" "pending" "pending_successful" "pending_failed" "processed" "rejected" "successful" "signed"
completed_at
string

Date and time when the identification was completed.

method
string

The method used for the identification.

Enum: "bank" "bank_id" "fourthline" "idnow" "manual" "postident"
Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "id": "9dfe2f4edaa67138be0c0c1cd3a7d849cidt",
  • "reference": "TST-ELCCJ",
  • "status": "successful",
  • "completed_at": "2021-09-14T18:18:28.000Z",
  • "method": "idnow"
}

IDENTIFICATION_ORIGINATIONWebhook

The status of an identification origination has changed.

Request
Request Body schema: application/json
status_description
string or null

The description of the identification status

status
required
string

The status of the identification origination.

Enum: "identification_trigger_pending" "esign_pending" "identification_completion_pending" "screening_pending" "failed" "completed" "expired"
identification_origination_id
required
string

The unique ID of an identification origination resource assigned to a specific customer.

identification_id
string or null

The unique ID of the identification resource assigned to a specific customer.

esigning_id
string or null

The unique ID of the e-signing resource.

Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "status_description": "Waiting for signing process to finish",
  • "status": "esign_pending",
  • "identification_origination_id": "589e12da53154010ad180894acbe07ebio",
  • "identification_id": "17905779039e75dce7bf8d68f3184942cidt",
  • "esigning_id": "5ade4e499b299c299be2987ad597c42ecsig"
}

IDENTIFICATION_SESSIONWebhook

The status of an identification session has changed.

Request
Request Body schema: application/json
status
string

The status of an identification session.

person_id
string

The person ID of the customer associated with the identification session.

Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "status": "created",
  • "person_id": "4f6a8804cb45155c2e544019e47cef22cper"
}

INSTANT_SEPA_CREDIT_TRANSFER_EXECUTEDWebhook

A SEPA Instant Credit Transfer was successfully executed and booked on the account.

Request
Request Body schema: application/json
id
string <= 35 characters

The ID of the transaction.

object

The transaction amount.

creditor_iban
string

The IBAN of the creditor account (i.e., the account holder receiving the money). The IBAN must be reachable via SCT Instant!

creditor_name
string <= 70 characters

The name of the creditor (i.e., account holder).

description
string <= 140 characters

A description for the transaction given by the customer.

end_to_end_id
string <= 35 characters

Your unique end-to-end ID for the transaction.

status
string

Status of the Instant SCT. Only possible value is CLEARED.

valuta_date
string <date>

The valuta date of the transaction.

account_id
string

The ID of the account associated with the instant SCT.

account_iban
string

The IBAN of the account associated with the instant SCT.

Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "id": "e8308bd66d3472a987d262d05fb5098siot",
  • "amount": {
    },
  • "creditor_iban": "Lisa Herrmann",
  • "creditor_name": "DE02500105170137075030",
  • "description": "Geschenk",
  • "end_to_end_id": "e2178fc8b9ad4a479e269a47f90b4a43",
  • "initiator_reference": "2603037c-e264-46c4-82e8-0d3ebc23a30f",
  • "idempotency_key": "7352a11b-011d-47a4-a449-17371078e98c",
  • "status": "CLEARED",
  • "valuta_date": "2022-04-22",
  • "account_id": "adc123a45d6d7cf8fbfeed537ba919d5cacc",
  • "account_iban": "DE87110101001000057123"
}

INSTANT_SEPA_CREDIT_TRANSFER_FAILEDWebhook

A SEPA Instant Credit Transfer has failed and has not been booked on the account.

Request
Request Body schema: application/json
id
string <= 35 characters

The ID of the transaction.

object

The transaction amount.

creditor_iban
string

The IBAN of the creditor account (i.e., the account holder receiving the money). The IBAN must be reachable via SCT Instant!

creditor_name
string <= 70 characters

The name of the creditor (i.e., account holder).

description
string <= 140 characters

A description for the transaction given by the customer.

end_to_end_id
string <= 35 characters

Your unique end-to-end ID for the transaction.

status
string

Status of the Instant SCT. Only possible value is FAILED.

valuta_date
string <date>

The valuta date of the transaction.

account_id
string

The ID of the account associated with the instant SCT.

account_iban
string

The IBAN of the account associated with the instant SCT.

rejection_reason
string

Reason why the transaction failed.

Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "id": "e8308bd66d3472a987d262d05fb5098siot",
  • "amount": {
    },
  • "creditor_iban": "Lisa Herrmann",
  • "creditor_name": "DE02500105170137075030",
  • "description": "Geschenk",
  • "end_to_end_id": "e2178fc8b9ad4a479e269a47f90b4a43",
  • "initiator_reference": "2603037c-e264-46c4-82e8-0d3ebc23a30f",
  • "idempotency_key": "7352a11b-011d-47a4-a449-17371078e98c",
  • "status": "FAILED",
  • "valuta_date": "2022-04-22",
  • "account_id": "adc123a45d6d7cf8fbfeed537ba919d5cacc",
  • "account_iban": "DE87110101001000057123",
  • "rejection_reason": "IBAN not reachable"
}

LEGAL_REPRESENTATIVEWebhook

A legal representative was linked to, or unlinked from, a business. Solaris will send notifications on this webhook if more legal representatives are discovered during the business identification process.

Request
Request Body schema: application/json
id
string

ID of the legal representative relationship.

legal_representative_id
string

ID of the person or business with the legal authority to represent the business.

legal_representative_type
string

The type of legal representative that this record represents.

Enum: "Person" "Business"
valid_until
string

Date when the legal representative relationship expires.

business_id
string

ID of the business for which the person or business is a legal representative.

Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "id": "a46578f4049f42aba9fe88a2a80fed53",
  • "legal_representative_id": "33fbdd2c0bb94db1af5b5d2a4426cper",
  • "legal_representative_type": "Person",
  • "valid_until": "2022-12-31",
  • "business_id": "095cc43012a04ccca02f0f93c145cbiz"
}

LOANWebhook

The status of a customer's loan has changed. Please note that webhook payload is returned as a JSON-encoded string.

Request
Request Body schema: application/json
object

An object containing the webhook payload.

event_type
string

The webhook event name.

entity_uuid
string

The resource ID of the loan.

Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "payload": {
    },
  • "event_type": "LOAN",
  • "entity_uuid": "82d78c39956645ffbd59c51cdb63f7b0cloa"
}

OVERDRAFTWebhook

The status of a freelancer overdraft has changed.

Request
Request Body schema: application/json
status
required
string

The status of an overdraft offered to a freelancer.

Enum: "created" "interest_conditions_set" "limit_set" "terminated"
person_id
required
string

The unique person ID, generated after completing the person onboarding process.

overdraft_rate
number

The interest rate applicable to the overdraft.

object or null (SolarisToolkit.Web.Money.Optional)
interest_conditions_enabled
boolean
required
SolarisToolkit.Web.Money (object)

The daily interest accrued by a freelancer account.

interest_accrual_rate
number

The daily rate at which interest is accrued on the used amount of an overdraft.

id
required
string

The unique ID of a freelancer overdraft, generated after an overdraft is offered.

created_at
required
string <datetime>

The date and time the overdraft was created.

account_id
string or null

The unique ID of a customer's bank account.

Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "status": "created",
  • "person_id": "dc1a6812a14f6cc338cd084208535bcdcper",
  • "overdraft_rate": 9,
  • "limit": {
    },
  • "interest_conditions_enabled": true,
  • "interest_accrued": {
    },
  • "interest_accrual_rate": 3,
  • "id": "00556cd181f2409aaa6c2a033cce3a8fcovd",
  • "created_at": "2021-08-03T18:01:48.000Z",
  • "account_id": "575189c6eb825b10b9d0392fcb3bf61dcacc"
}

OVERDRAFT_APPLICATIONWebhook

The status of a freelancer overdraft application has changed.

Request
Request Body schema: application/json
status
required
string

The status of a freelancer overdraft application.

Enum: "initial_scoring_pending" "account_snapshot_pending" "account_snapshot_verification_pending" "offered" "rejected" "expired" "deleted" "overdraft_created"
rejection_reasons
Array of strings or null

The reason(s) for rejecting an overdraft application.

person_id
required
string

The unique person ID, generated after completing the person onboarding process.

partner_risk_class
string or null

The risk class assigned to a freelancer by the partner.

partner_reference_number
string or null

The partner's reference number.

partner_contact_number
string or null

The number of the partner's contact person.

partner_contact_name
string or null

The name of the partner's contact person.

overdraft_rate
number

The interest rate applicable to the overdraft.

overdraft_id
string or null

The unique ID of a freelancer overdraft, generated after an overdraft is offered.

object or null (SolarisToolkit.Web.Money.Optional)
interest_conditions_enabled
boolean
interest_accrual_rate
number

The daily rate at which interest is accrued on the used amount of an overdraft.

id
required
string

The unique ID of a freelancer overdraft application.

decision
string or null

Solaris' decision on the overdraft application.

Enum: "REJECTED" "OFFERED"
credit_record_id
string or null

The unique ID of a credit record, generated after creating a freelancer credit record.

created_at
required
string <datetime>

The date and time the freelancer overdraft application was created.

account_snapshot_id
string or null

The unique ID of an account snapshot of a specific person account.

Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "status": "offered",
  • "rejection_reasons": [
    ],
  • "person_id": "dc1a6812a14f6cc338cd084208535bcdcper",
  • "partner_risk_class": "d",
  • "partner_reference_number": "a123456",
  • "partner_contact_number": "+491565904345",
  • "partner_contact_name": "Peter Mustermann",
  • "overdraft_rate": 9,
  • "overdraft_id": "00556cd181f2409aaa6c2a033cce3a8fcovd",
  • "limit": {
    },
  • "interest_conditions_enabled": true,
  • "interest_accrual_rate": 3,
  • "id": "b83z264de98741018419b53648e20ca9coap",
  • "decision": "OFFERED",
  • "credit_record_id": "fbb7d15fa4c54ba0b077592665ef04a4ccrd",
  • "created_at": "2021-08-03T18:01:48.000Z",
  • "account_snapshot_id": "string"
}

OVERDRAFT_LIMIT_CHANGEWebhook

The overdraft limit on a consumer's account has changed.

Request
Request Body schema: application/json
id
string

The ID of the overdraft.

object (SolarisToolkit.Web.Money)
overdraft_id
string

The ID of the existing consumer overdraft.

object (SolarisToolkit.Web.Money)
status
string

The status of the limit change request.

Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "id": "e26cd100ba0e4ddea88f6e34f0a911aeovlc",
  • "limit_at_creation_time": {
    },
  • "overdraft_id": "fe906914c27f442ea86711b9a099d75dcovd",
  • "requested_limit": {
    },
  • "status": "attached"
}

PERSON_CHANGEDWebhook

One or more attributes of a person were changed. This webhook does not come with a payload. The header will contain the ID of the person that was changed.

Request
header Parameters
Solaris-Entity-Id
string

Contains the ID of the person whose data changed.

Example: c724a8d510c5294affadf8c95a8119b5cper
Request Body schema: application/json
object
Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{ }

PERSON_DELETEDWebhook

This webhook event occurs when Solaris deletes all personal data related to the given person from its system according to GDPR regulations.
Note: Solaris is legally required to delete records of created persons who did not become customers within 90 days of collecting the personal data according to GDPR regulations. When you receive a notification of this type, you must immediately delete all data related to the person specified in the webhook notification.

Request
header Parameters
Solaris-Entity-Id
string

Contains the ID of the person whose data you must delete.

Example: c724a8d510c5294affadf8c95a8119b5cper
Request Body schema: application/json
object
Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{ }

PERSON_MOBILE_NUMBER_CREATEDWebhook

A mobile number was created for a customer, but has not yet been verified. This webhook does not contain a payload, but the header will contain the id of the person for whom the mobile number was created.

Request
Request Body schema: application/json
object
Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{ }

PERSON_MOBILE_NUMBER_DELETEDWebhook

A customer's mobile number was deleted.

Request
Request Body schema: application/json
id
string

The ID of the customer's mobile number that was deleted.

Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "id": "244de401cf4ddbbbafbbc657312a7ce7cmno"
}

PERSON_SEIZURE_CREATEDWebhook

Solaris has received a request from the authorities (e.g., court, governmental agency) to seize the account(s) of a person.

Request
Request Body schema: application/json
id
string

Unique ID of the seizure resource.

enactment_date
string <date>

The date when the authority issued the seizure.

delivery_date
string

The date when the seizure notice was delivered to Solaris.

authority_name
string

The name of the authority that issued the seizure.

resolution_case_number
string

The seizure's case ID number, generated by the issuing authority.

seizure_type
string

The type of seizure.

Enum: "ATTACHMENT" "AUTHORITY_SEIZURE" "COURT_SEIZURE" "PRE_ATTACHMENT"
status
string

The current status of the seizure.

Enum: "ACTIVE" "FULFILLED" "WAITING_FOR_AUTHORITY"
object

Object that represents the amount of the debt.

object

Additional costs of the seizure.

object

Object that contains the name and address information of the debtor.

object

Object that contains the name and address information of the creditor.

object

Object containing information about a person or an entity that represents the creditor (i.e., a third-party liaison between the debtor and creditor).

automatic_payout_date
string

The automatic payout date of the seizure amount.

insolvency
boolean

Field to indicate whether or not there's an insolvency case related to the customer.

social_benefits
boolean

Field to indicate whether or not social benefits are applicable to the customer.

seizure_protected
boolean

Field to indicate whether or not there's a seizure protection related to the customer.

automated
boolean

Field to indicate whether or not the seizure will be processed automatically or manually.

country
string

The country in which the seizure happened.

multiple_drittschuldner
boolean

Field to indicate whether or not there are multiple third party debtors related to the customer.

customer_id
string

The person or business ID of the customer whose account has the seizure.

customer_type
string

The type of customer whose account has the seizure.

Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "id": "211c5c2f34ac442ff6f93d09fc8fb3edseiz",
  • "enactment_date": "2019-01-31",
  • "delivery_date": "2019-01-28",
  • "authority_name": "Court",
  • "resolution_case_number": "Number 212121212",
  • "seizure_type": "COURT_SEIZURE",
  • "status": "ACTIVE",
  • "amount": {
    },
  • "additional_cost": {
    },
  • "debtor": {
    },
  • "creditor": {
    },
  • "creditor_representative": {
    },
  • "automatic_payout_date": "2022-01-29",
  • "insolvency": false,
  • "social_benefits": false,
  • "seizure_protected": false,
  • "automated": true,
  • "country": "DE",
  • "multiple_drittschuldner": true,
  • "customer_id": "dc1a6812a14f6cc338cd084208535bcdcper",
  • "customer_type": "Person"
}

PERSON_SEIZURE_DELETEDWebhook

Solaris has removed a seizure for a person because it was created by mistake.

Request
Request Body schema: application/json
id
string

Unique ID of the seizure resource.

enactment_date
string <date>

The date when the authority issued the seizure.

delivery_date
string

The date when the seizure notice was delivered to Solaris.

authority_name
string

The name of the authority that issued the seizure.

resolution_case_number
string

The seizure's case ID number, generated by the issuing authority.

seizure_type
string

The type of seizure.

Enum: "ATTACHMENT" "AUTHORITY_SEIZURE" "COURT_SEIZURE" "PRE_ATTACHMENT"
status
string

The current status of the seizure.

Enum: "ACTIVE" "FULFILLED" "WAITING_FOR_AUTHORITY"
object

Object that represents the amount of the debt.

object

Additional costs of the seizure.

object

Object that contains the name and address information of the debtor.

object

Object that contains the name and address information of the creditor.

object

Object containing information about a person or an entity that represents the creditor (i.e., a third-party liaison between the debtor and creditor).

customer_id
string

The person or business ID of the customer whose seizure was deleted.

customer_type
string

The type of customer whose account has the seizure.

Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "id": "211c5c2f34ac442ff6f93d09fc8fb3edseiz",
  • "enactment_date": "2019-01-31",
  • "delivery_date": "2019-01-28",
  • "authority_name": "Court",
  • "resolution_case_number": "Number 212121212",
  • "seizure_type": "COURT_SEIZURE",
  • "status": "ACTIVE",
  • "amount": {
    },
  • "additional_cost": {
    },
  • "debtor": {
    },
  • "creditor": {
    },
  • "creditor_representative": {
    },
  • "customer_id": "dc1a6812a14f6cc338cd084208535bcdcper",
  • "customer_type": "Person"
}

PERSON_SEIZURE_FULFILLEDWebhook

The status of a seizure on a person has changed to FULFILLED.

Request
Request Body schema: application/json
id
string

Unique ID of the seizure resource.

enactment_date
string <date>

The date when the authority issued the seizure.

delivery_date
string

The date when the seizure notice was delivered to Solaris.

authority_name
string

The name of the authority that issued the seizure.

resolution_case_number
string

The seizure's case ID number, generated by the issuing authority.

seizure_type
string

The type of seizure.

Enum: "ATTACHMENT" "AUTHORITY_SEIZURE" "COURT_SEIZURE" "PRE_ATTACHMENT"
status
string

The current status of the seizure.

Enum: "ACTIVE" "FULFILLED" "WAITING_FOR_AUTHORITY"
object

Object that represents the amount of the debt.

object

Additional costs of the seizure.

object

Object that contains the name and address information of the debtor.

object

Object that contains the name and address information of the creditor.

object

Object containing information about a person or an entity that represents the creditor (i.e., a third-party liaison between the debtor and creditor).

customer_id
string

The person or business ID of the customer whose seizure was fulfilled.

customer_type
string

The type of customer whose account has the seizure.

Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "id": "211c5c2f34ac442ff6f93d09fc8fb3edseiz",
  • "enactment_date": "2019-01-31",
  • "delivery_date": "2019-01-28",
  • "authority_name": "Court",
  • "resolution_case_number": "Number 212121212",
  • "seizure_type": "COURT_SEIZURE",
  • "status": "FULFILLED",
  • "amount": {
    },
  • "additional_cost": {
    },
  • "debtor": {
    },
  • "creditor": {
    },
  • "creditor_representative": {
    },
  • "customer_id": "dc1a6812a14f6cc338cd084208535bcdcper",
  • "customer_type": "Person"
}

PERSON_SEIZURE_UPDATEDWebhook

The processing method for a seizure for a person has switched from automated to manual.

Request
Request Body schema: application/json
id
string

Unique ID of the seizure resource.

enactment_date
string <date>

The date when the authority issued the seizure.

delivery_date
string

The date when the seizure notice was delivered to Solaris.

authority_name
string

The name of the authority that issued the seizure.

resolution_case_number
string

The seizure's case ID number, generated by the issuing authority.

seizure_type
string

The type of seizure.

Enum: "ATTACHMENT" "AUTHORITY_SEIZURE" "COURT_SEIZURE" "PRE_ATTACHMENT"
status
string

The current status of the seizure.

Enum: "ACTIVE" "FULFILLED" "WAITING_FOR_AUTHORITY"
object

Object that represents the amount of the debt.

object

Additional costs of the seizure.

object

Object that contains the name and address information of the debtor.

object

Object that contains the name and address information of the creditor.

object

Object containing information about a person or an entity that represents the creditor (i.e., a third-party liaison between the debtor and creditor).

automatic_payout_date
string

The automatic payout date of the seizure amount.

insolvency
boolean

Field to indicate whether or not there's an insolvency case related to the customer.

social_benefits
boolean

Field to indicate whether or not social benefits are applicable to the customer.

seizure_protected
boolean

Field to indicate whether or not there's a seizure protection related to the customer.

automated
boolean

Field to indicate whether or not the seizure will be processed automatically or manually.

country
string

The country in which the seizure happened.

multiple_drittschuldner
boolean

Field to indicate whether or not there are multiple third party debtors related to the customer.

customer_id
string

The person or business ID of the customer whose account has the seizure.

customer_type
string

The type of customer whose account has the seizure.

Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "id": "211c5c2f34ac442ff6f93d09fc8fb3edseiz",
  • "enactment_date": "2019-01-31",
  • "delivery_date": "2019-01-28",
  • "authority_name": "Court",
  • "resolution_case_number": "Number 212121212",
  • "seizure_type": "COURT_SEIZURE",
  • "status": "ACTIVE",
  • "amount": {
    },
  • "additional_cost": {
    },
  • "debtor": {
    },
  • "creditor": {
    },
  • "creditor_representative": {
    },
  • "automatic_payout_date": "2022-01-29",
  • "insolvency": false,
  • "social_benefits": false,
  • "seizure_protected": false,
  • "automated": false,
  • "country": "DE",
  • "multiple_drittschuldner": true,
  • "customer_id": "dc1a6812a14f6cc338cd084208535bcdcper",
  • "customer_type": "Person"
}

PERSON_TAX_IDENTIFICATION_CHANGEDWebhook

The tax identification number of a person was modified. The webhook contains the id of the relevant person tax identification in the header and the id of the relevant person in the payload.

Request
header Parameters
Solaris-Entity-Id
string

ID of the person tax identification that triggered the webhook notification.

Example: cba4289c773b7450482ee88a6e5126e9ctin
Request Body schema: application/json
id
string

The person ID of the customer whose tax identification has changed.

Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "id": "dc1a6812a14f6cc338cd084208535bcdcper"
}

POSTBOX_ITEM_CREATED Webhook

Solaris has published a new item, and it is now available via Postbox.

Request
Request Body schema: application/json
id
string

ID of the Postbox item.

belongs_to
string

ID of the person or business with whom the Postbox item is associated.

owner_type
string

Indicates whether the Postbox item is owned by a person or business.

Enum: "Person" "Business"
created_at
string

UTC timestamp from when the Postbox item was created.

document_date
string

The date of the document associated with the Postbox item.

document_type
string

The type of document associated with the Postbox item.

Enum: "ACCOUNT_STATEMENT" "BALANCE_CONFIRMATION" "CUSTOMER_INFORMATION" "DUNNING_INFORMATION" "LOAN_SCHEDULE" "SECURITIES_INVOICE" "SECURITIES_EVENT" "SECURITIES_EVENT_NOTIFICATION" "DEPOT_STATEMENT_MIFID" "EX_POST_COST_INFORMATION" "DEPOT_STATEMENT" "ASSETS_ACQUISITION" "ASSETS_ACQUISITION_COSTS" "PROFIT_TAX_STATEMENT" "YEARLY_TAX_STATEMENT" "TAX_SETTLEMENT_CALCULATION" "CREDIT_CARD_STATEMENT" "RELATIONSHIP_TERMINATION" "CREDIT_CARD_SECCI" "CREDIT_CARD_CONTRACT" "CREDIT_CARD_CONTRACT_SIGNED" "FEE_SUMMARY_STATEMENT" "SINGLE_FEE_STATEMENT"
name
string

The name of the Postbox item.

description
string

A description for the Postbox item.

customer_notification
boolean

Boolean value to indicate whether or not customers should receive a notification when the Postbox item is created.

customer_confirmation
boolean

Boolean value to indicate whether or not customers must confirm the Postbox item.

document_size
integer <int64>

The file size of the associated document.

document_content_type
string

The content type of the associated document.

document_id
string

The ID of the associated document.

Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "id": "c072c6e43f4d486cb553e9cd9fc1bae7pbxi",
  • "belongs_to": "dc1a6812a14f6cc338cd084208535bcdcper",
  • "owner_type": "Person",
  • "created_at": "2021-10-22T05:23:30Z",
  • "document_date": "2021-06-30",
  • "document_type": "BALANCE_CONFIRMATION",
  • "name": "Account statement for June 2021",
  • "description": "This account statement includes all bookings from the given period of time",
  • "customer_notification": false,
  • "customer_confirmation": false,
  • "document_size": 66092,
  • "document_content_type": "image/jpeg",
  • "document_id": "e953cbf8af064839b3e3bf2568d1130fpbxd"
}

POTENTIAL_ACCOUNT_BLOCKINGWebhook

The customer's identification document is about to expire. If no valid identification document is submitted by the blocking date, the account will be blocked.

Request
Request Body schema: application/json
blocking_date
string

The date by which the account will be blocked.

reason
string

Reason why the account will be blocked.

Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "blocking_date": "2022-10-09",
  • "reason": "IDENTIFICATION_DOCUMENT_EXPIRED"
}

QUESTIONS_REQUIRE_RESPONSEWebhook

Solaris has created a set of follow-up questions for one of your customers. The payload will contain information about the question set itself and a list of all the questions in the set. For more information, see the Questions and Answers guide.

Request
Request Body schema: application/json
question_set_id
string

ID of the question set created by Solaris.

entity_id
string

ID of the entity (person or business) to whom the question set is assigned.

context_id
string

The ID of an additional Solaris resource related to the question set (e.g., an identification).

deadline
string <date-time>

The deadline for answering all questions in the set.

object

Object containing information about the question set recipient.

Array of objects (Solaris-Server-Decorators-Question)

Array containing all the questions in the question set.

Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "question_set_id": "cf860f53574c1ca743232feaf1c81e71cqst",
  • "entity_id": "fd950f53574c1ca743232feaf1c81e71cper",
  • "context_id": "fd950f53574c1ca743232feaf1c81e71cedd",
  • "deadline": "2022-09-15T11:20:16.840208Z",
  • "recipient": {
    },
  • "questions": [
    ]
}

REFERENCE_ACCOUNT_CREATEDWebhook

A customer has registered a new reference account for payouts used with restricted accounts.

Request
Request Body schema: application/json
id
string

ID of the customer's restricted account to which the reference account is linked.

status
string

Status of the reference account.

iban
string

The IBAN of the reference account.

account_id
string

ID of the DiBa account connected.

Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "id": "9876827fc63a639ee829racc",
  • "status": "ACTIVE",
  • "iban": "DE12345678900122",
  • "account_id": "4ee59da2-83a4-4910-b771-4de07d41c2e9"
}

REFERENCE_ACCOUNT_INSTANT_PAYOUT_DECLINEDWebhook

An instant reference account payout was declined, and no booking was made on the account.

Request
Request Body schema: application/json
id
string

Unique ID of the payout.

reference
string

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

status
string

Current status of the payout.

end_to_end_id
string

End-to-end ID of the payout.

description
string

A description for the payout.

reference_account_id
string

ID of the reference account to which the payout is directed.

decline_reason
string

Contains a reason why the payout was declined if the status is DECLINED.

decline_reason_details
string

Contains a detailed reason why the payout was declined if the status is DECLINED.

object

Amount of the payout.

instant
boolean

A field to indicate whether the transaction is instant or not.

Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "id": "4b157d71def54b5c9dac28ef1d04432c",
  • "reference": "9d2b59c2-c68f-413c-b2a9-a2f5bfd3f669",
  • "status": "DECLINED",
  • "end_to_end_id": "end_to_end_ref",
  • "description": "Payout description",
  • "reference_account_id": "78f354e508314bb8ac982a3d7f969dde",
  • "instant": true,
  • "decline_reason": "Insufficient funds"
}

REFERENCE_ACCOUNT_INSTANT_PAYOUT_EXECUTEDWebhook

An instant reference account payout was successful and a booking was made on the account.

Request
Request Body schema: application/json
id
string

Unique ID of the payout.

reference
string

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

status
string

Current status of the payout.

end_to_end_id
string

End-to-end ID of the payout.

description
string

A description for the payout.

reference_account_id
string

ID of the reference account to which the payout is directed.

decline_reason
string

Contains a technical code for the payout if the status is DECLINED. Check decline_reason_details for more information.

decline_reason_details
string

Contains a detailed reason why the payout was declined if the status is DECLINED.

object

Amount of the payout.

instant
boolean

A field to indicate whether the transaction is instant or not.

Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "id": "4b157d71def54b5c9dac28ef1d04432c",
  • "reference": "9d2b59c2-c68f-413c-b2a9-a2f5bfd3f669",
  • "status": "EXECUTED",
  • "end_to_end_id": "end_to_end_ref",
  • "description": "Payout description",
  • "reference_account_id": "78f354e508314bb8ac982a3d7f969dde",
  • "instant": true
}

RESERVATION_CREATEDWebhook

A reservation was created on a customer's account. This webhook event is only for seizure-related reservations.

Request
Request Body schema: application/json
id
string

ID of the reservation that was created.

object

Amount of the reservation (in Euro cents).

reservation_type
string

The type of reservation.

Enum: "CARD_AUTHORIZATION" "CLEARING_TRANSACTION" "INTRA_CUSTOMER_TRANSFER" "SEIZURE" "SEPA_CREDIT_BATCH" "SEPA_CREDIT_TRANSFER" "ProtectedAccountSeizure"
reference
string

Reference number for the reservation.

status
string

The current status of the reservation. Possible values are OPEN and RESOLVED.

Enum: "OPEN" "RESOLVED"
description
string

Seizure-related reservation.

iban
string

IBAN of the account on which the reservation was created.

account_id
string

ID of the account on which the reservation was created.

created_at
string

UTC timestamp from when the reservation was created on the account.

resolved_at
string

UTC timestamp from when the reservation was resolved on the account.

object (Solaris-Resources-MetaInfo)

An object containing all meta information related to the reservation.

Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "id": "b814e2213c5c45149945ed53422db0c4cres",
  • "amount": {
    },
  • "reservation_type": "SEIZURE",
  • "reference": "1234567example",
  • "status": "OPEN",
  • "description": "string",
  • "iban": "DE87110101001000057123",
  • "account_id": "adc123a45d6d7cf8fbfeed537ba919d5cacc",
  • "created_at": "2022-05-19T13:30:30Z",
  • "resolved_at": "string",
  • "meta_info": {
    }
}

RESERVATION_RESOLVEDWebhook

A reservation on a customer's account was resolved. This webhook event is only for seizure-related reservations.

Request
Request Body schema: application/json
id
string

ID of the reservation that was resolved.

object

Amount of the reservation (in Euro cents).

reservation_type
string

The type of reservation.

Enum: "CARD_AUTHORIZATION" "CLEARING_TRANSACTION" "INTRA_CUSTOMER_TRANSFER" "SEIZURE" "SEPA_CREDIT_BATCH" "SEPA_CREDIT_TRANSFER" "ProtectedAccountSeizure"
reference
string

Reference number for the reservation.

status
string

The current status of the reservation. Possible values are OPEN and RESOLVED.

Enum: "OPEN" "RESOLVED"
description
string

Seizure-related reservation.

iban
string

IBAN of the account on which the reservation was created.

account_id
string

ID of the account on which the reservation was created.

created_at
string

UTC timestamp from when the reservation was created on the account.

resolved_at
string

UTC timestamp from when the reservation was resolved on the account.

object (Solaris-Resources-MetaInfo)

An object containing all meta information related to the reservation.

Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "id": "b814e2213c5c45149945ed53422db0c4cres",
  • "amount": {
    },
  • "reservation_type": "SEIZURE",
  • "reference": "1234567example",
  • "status": "RESOLVED",
  • "description": "string",
  • "iban": "DE87110101001000057123",
  • "account_id": "adc123a45d6d7cf8fbfeed537ba919d5cacc",
  • "created_at": "2022-05-19T13:30:30Z",
  • "resolved_at": "2022-08-19T13:30:30Z",
  • "meta_info": {
    }
}

SCA_CHALLENGEWebhook

A customer has made a purchase or performed a card servicing operation (e.g., adding a card to a Google or Apple Pay wallet) that requires authentication.

Request
Request Body schema: application/json
object

The transaction's amount.

object

The merchant related to the transaction.

challenged_at
string <datetime>

UTC timestamp from when the authentication challenge was presented to the customer.

expires_at
string <datetime>

UTC timestamp from when the authentication challenge was expired.

person_id
string

The person ID of the customer who initiated the action requiring authentication.

card_id
string

The ID of the card that was used for the transaction.

authenticate_change_request_id
string

The authorization change request ID.

decline_change_request_id
string

The decline change request ID.

challenge_id
string

ID of the SCA challenge. Use this parameter for declining the transaction.

channel
string

The channel that was used for the transaction.

Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "amount": {
    },
  • "merchant": {},
  • "challenged_at": "2022-11-07T13:34:27+00:00",
  • "expires_at": "2022-11-07T13:39:27+00:00",
  • "person_id": "682a85d7e490c1360f6c2be2f1addd57cper",
  • "card_id": "03bafc5569a53a62dd02ad2e5a789b80mcrd",
  • "authenticate_change_request_id": "bbcafe6e9cc66a4aebaa907cea325435csc",
  • "decline_change_request_id": "6fbb54aebc42e2c5d4dc881d5cf566d6csc",
  • "challenge_id": "8bc7c682cf2b47fbb0da40146h2gscachal",
  • "channel": "browser"
}

SEPA_CREDIT_TRANSACTION_DECLINEDWebhook

A SEPA Credit Transfer conducted by one of your customers was declined. The transaction may have initially been accepted, but then something changed (e.g., a block was placed on the account, the balance proved to be insufficient) and the transaction was declined instead of executed.

Request
Request Body schema: application/json
id
string

Unique ID of the transaction.

status
string

Status of the transaction.

reference
string

Optional unique reference. Used as an idempotency key.

object

The amount of the transaction.

description
string

Additional description about the transaction. Please note the SEPA character restrictions.

recipient_iban
string

The recipient's IBAN.

recipient_name
string

The recipient's name. Please note the SEPA character restrictions.

recipient_bic
string

The recipient's BIC.

end_to_end_id
string

SEPA identifier provided by the transaction initiator, which will be routed throughout the whole payment process. Please note the SEPA character restrictions.

batch_id
string

Unique ID of the batch.

created_at
string <date-time>

UTC timestamp from when the transaction was created.

Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "id": "45bd0881-a79a-4054-9286-f11060d5511f",
  • "status": "declined",
  • "reference": "8880a72c-2675-482d-8d88-70a02c608592",
  • "amount": {
    },
  • "description": "string",
  • "recipient_iban": "DE87110101001000057123",
  • "recipient_name": "Max Mustermann",
  • "recipient_bic": "SOBKDEB2XXX",
  • "end_to_end_id": "END2ENDREJ",
  • "batch_id": "d6c778822b2d7bd3b778935bcfd0d1d3csc",
  • "created_at": "2021-01-01T20:37:50Z"
}

SEPA_DIRECT_DEBIT_RETURNWebhook

A SEPA Direct Debit return notification was created because a SEPA Direct Debit collection from a customer's account did not meet the payment acceptance criteria, which led to Solaris declining the transaction. The payload will contain information about the SDD return, including its return code.

Request
Request Body schema: application/json
id
string

Unique ID of the SEPA Direct Debit return.

creditor_iban
string

The creditor's IBAN.

creditor_name
string

The creditor's name.

creditor_identifier
string

Unique reference that identifies a party collecting payments under the SEPA Direct Debit scheme within and across 32 countries. See the Deutsche Bundesbank's definition of creditor identifier for more information.

mandate_reference
string

Reference of the mandate. Must be unique for the creditor identifier.

object

The amount of the booking.

end_to_end_id
string

SEPA identifier provided by the transaction initiator, which will be routed throughout the whole payment process.

sepa_return_code
string

SEPA return code.

description
string

Additional details about the booking.

recorded_at
string

The timestamp from when the return was recorded.

customer_id
string

The customer's ID.

customer_type
string

Specifies whether the customer is a Person or Business.

Enum: "Person" "Business"
account_id
string

The customer's Solaris account ID.

Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "id": "257eb92c4656691fd02d3de1fa88b9f5csdr",
  • "creditor_iban": "DE32110101001000000029",
  • "creditor_name": "Peter Mustermann",
  • "creditor_identifier": "DE98ZZZ09999999999",
  • "mandate_reference": "SOBKTEST",
  • "amount": {
    },
  • "end_to_end_id": "DD-12-28.05.2018",
  • "sepa_return_code": "MD01",
  • "description": "string",
  • "recorded_at": "2018-08-12T13:58:58.000Z",
  • "customer_id": "74c586d116e7dcd138af3dd5d754f2abcper",
  • "customer_type": "Person",
  • "account_id": "3eb274b98be7afb13d91acb8ae53901ecacc"
}

SEPA_SCHEDULED_TRANSACTIONWebhook

A standing order was either executed or declined. Use this webhook to stay informed about the progression of standing orders and to connect each step in the process with its corresponding booking (or absence thereof).

Request
Request Body schema: application/json
id
string

The ID of the relevant standing order.

account_id
string

The account ID associated with the standing order.

processed_at
string

UTC timestamp from when the transaction was processed.

reference
string

Optional reference for the transaction. Will act as an idempotency key.

source
string

Transaction source.

source_id
string

ID of the transaction's source.

status
string

Status of the standing order.

decline_reason
array

An array containing the reasons why the standing order was declined.

transaction_id
string

ID of the transaction.

Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "id": "c14ed45ced80f17a1ecc62214db2738ccsto",
  • "account_id": "008cad63f317721e582ba99eefff219fcacc",
  • "processed_at": "2017-10-21T00:50:00.438Z",
  • "reference": "Reference-56eb879fae8faa2f6d14f87161cst",
  • "source": "standing_order",
  • "source_id": "c14ed45ced80f17a1ecc62214db2738ccsto",
  • "status": "EXECUTED",
  • "decline_reason": [ ],
  • "transaction_id": "49a57d88276df2e440cdd2e7eec291ctrx"
}

SEPA_STANDING_ORDERWebhook

A standing order has been canceled, either by Solaris (due to account closure or insufficient funds) or by the customer.

Request
Request Body schema: application/json
id
string

The ID of the standing order that has been canceled.

reference
string

The reference ID of the standing order that has been canceled.

status
string

Status of the standing order.

account_id
string

The account ID related to the canceled standing order.

Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "id": "8b5c66882e8ab88369002f5da2659ec5csto",
  • "reference": "dsf2r3raedfs3fsf342fctrx",
  • "status": "CANCELED",
  • "account_id": "bb8a31f9fb313e6f8cc3859a2c2ea625cacc"
}

SEPA_TIMED_ORDERWebhook

A timed order was executed.

Request
Request Body schema: application/json
id
string

The ID of the executed timed order.

reference
string

The reference ID of the executed timed order.

status
string

Status of the timed order.

account_id
string

The account ID related to the executed timed order.

processed_at
string

UTC timestamp from when the timed order was executed.

Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "id": "472730af12864d458b2f04b58404fe43ctor",
  • "reference": "ref00514262",
  • "status": "EXECUTED",
  • "account_id": "4f14b0bc9d306241d3a0044420dadd4acacc",
  • "processed_at": "2022-04-06T09:03:05.321Z"
}

TAX_EXEMPTION_UPDATEDWebhook

The status of a tax exemption request has changed.

Request
Request Body schema: application/json
id
string

ID of the tax exemption request.

deposit_type
string

The account type.

Value: "SAVINGS_ACCOUNT"
deposit_account_id
string

ID of the savings account.

main_account_id
string

ID of the main account.

status
string

The current status of the tax exemption order.

Enum: "OPENED" "SUCCESS" "FAILED"
failure_reason
string or null

In case the tax exemption request failed, this field will contain the reason.

object

The amount to be exempted from tax.

valid_from_year
string

Year from which the tax exemption order takes effect.

valid_to_year
string

Year until which the tax exemption order applies.

updated_at
string

UTC timestamp from when the savings account mapping was executed.

Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "id": "93bc0b9d-3321-4bac-84ce-1b300a137d7e",
  • "deposit_type": "SAVINGS_ACCOUNT",
  • "deposit_account_id": "e48c29b85992b8772eb7ddd518490920cacc",
  • "main_account_id": "148c29b85992b8772eb7ddd518490110cacc",
  • "status": "OPENED",
  • "failure_reason": "string",
  • "amount": {
    },
  • "valid_from_year": "2023",
  • "valid_to_year": "2025",
  • "updated_at": "2024-04-06T09:03:05.321+00:00"
}