---
title: "Download a specific event for a xs2a transaction object"
method: GET
path: "/events/{event-id}"
tags: ["Events API"]
---

# Download a specific event for a xs2a transaction object

`GET /events/{event-id}`

## Path parameters

- `event-id` string, required

## Response `200`

Request successfully processed

- EventObject
  - `id` string — Transaction id
  - `transaction` string — The transaction ID this object belongs to. May be null for some events.
  - `type` 'bank_accounts.new_turnovers' | 'bank_accounts.sync_finished' | 'bank_connection.sync_expires' | 'transaction.updated' | 'transaction.created' | 'transaction.deleted' | 'bank_accounts.new_bank_account' | 'bank_accounts.sync_failed' | 'bank_connection.disabled' | 'test.webhook' — The type of the event
  - `data` union — The object, that this event relates to. This is usually a transaction object.
    - object
      - `id` string — Transaction id
      - `transaction` string — Internal XS2A transaction id. This id will be the same for the whole transaction
      - `account_holder` string — Account holder name
      - `iban` string — IBAN
      - `bic` string — BIC
      - `bank_name` string — Bank name
      - `country_id` 'DE' | 'AT' | 'CH' — The 2-letter country code
      - `testmode` string — Indicates whether or not it is a test transaction
      - `created_at` string — Date of creation
      - `metadata` Metadata, nullable — An array of data which will be passed back to your application. With this field you can for example pass information about your customer ids, order ids and the like back to your application. Please beware of some restrictions for the metadata field: maximum of 3 values, maximum of a key length of 20 characters, maximum length of values is 128 characters. For privacy protection reason it is not allowed to use this field for transferring personal data (e.g. names or addresses).
      - `merchant_id` string — Data will be returned unchanged
      - `object` string — Object type, in this case a xs2a_risk
      - `xs2a_account_snapshot` Xs2aAccountSnapshotResponse
        - `object` string — Object type, in this case a xs2a_account_snapshot
        - `days` integer — Range in days that were used
        - `from` string — The start date in the format yyyy-mm-dd
        - `to` string — The end date in the format yyyy-mm-dd
        - `filters` string[] — Filter account statements
        - `all_tags` string — 1, if the turnovers were fully categorized, 0 otherwise
        - `created_at` string — Creation date of the object
      - `xs2a_age_verification_check` Xs2aAgeVerificationCheckResponse
        - `confirmed` boolean — Verify legal age of account holder
        - `created_at` string — Creation date of the object
        - `object` string — Object type, in this case a xs2a_age_verification_check
      - `xs2a_balance_check` Xs2aBalanceCheckResponse
        - `object` string — Object type, in this case a xs2a_balance_check
        - `check_amount` integer — Account balance amount to be checked against
        - `check_currency_id` 'EUR' | 'CHF' — The id of the currency to be used.
        - `check_passed` string — Indicates whether or not the check was successful ("1" for true, "0" for false)
        - `created_at` string — Creation date of the object
      - `xs2a_balance_overview` Xs2aBalanceOverviewResponse
        - `object` string — Object type, in this case a xs2a_balance_overview
        - `balance` number, float, nullable — Current balance
        - `available` number, float, nullable — Current available
        - `limit` number, float, nullable — Current limit (overdraft)
        - `currency_id` 'EUR' | 'CHF' — The id of the currency to be used.
        - `created_at` string — Creation date of the object
      - `xs2a_cashflow_overview` Xs2aCashflowOverviewResponse
        - `created_at` string — Creation date of the object
        - `object` string — Object type, in this case a xs2a_cashflow_overview
        - `cashflow` Xs2aCashflowObject[]
          - `month` integer — Relative month, e.g. current is 0, previous month is -1 and so on
          - `incoming` number, float — Amount of this month incoming transactions
          - `outgoing` number, float — Amount of this month outgoing transactions
          - `minimum_balance` number, float — The minimum (lowest) balance of the account in that month
          - `incoming_transactions` integer — A count of this month incoming transactions
          - `outgoing_transactions` integer — A count of this month outgoing transactions
          - `currency_id` 'EUR' | 'CHF' — The id of the currency to be used.
      - `xs2a_chargeback_check` Xs2aChargebackCheckResponse
        - `chargebacks_count` integer — Total count of detected chargeback transactions
        - `chargebacks_coverage` integer — Count of chargebacks which was triggered due insufficient funds
        - `chargebacks_revoked` integer — Count of chargebacks which was triggered manually
        - `chargebacks_sum_amount` number, float — Sum over the amount of all chargebacks
        - `currency_id` 'EUR' | 'CHF' — The id of the currency to be used.
        - `object` string — Object type, in this case a xs2a_chargeback_check
        - `created_at` string — Creation date of the object
      - `xs2a_children_check` Xs2aChildrenCheckResponse
        - `children_at_account_holder` integer — Calculated count of children
      - `xs2a_risk_insurance_contract_check` Xs2aRiskInsuranceContractCheckResponse
        - `result` object
          - `category_id` string
          - `counter_iban` string
          - `counter_holder` string
          - `insurance_policy_number` string[]
          - `count` integer
          - `periodicity` string
          - `last_amount` integer
          - `average_amount` integer
          - `total_amount` integer
          - `meta_data` string[]
      - `xs2a_profit_loss_check` Xs2aProfitLossCheckResponse
        - `result` object
          - `tax_ids` string[]
          - `profit_loss` object
            - `period_start` string
            - `period_end` string
            - `period_days` integer
            - `turnover_income` number, float
            - `cash_deposit` number, float
            - `other_income` number, float
            - `rent_expense` number, float
            - `supplies_expense` number, float
            - `personnel_expense` number, float
            - `tax_expense` number, float
            - `other_expense` number, float
            - `cashflow` number, float
            - `cashflow_revenue_ratio` number, float
      - `xs2a_income_check` Xs2aIncomeCheckResponse
        - `data` object
          - `full_months_count` integer
          - `category_short_name` object
            - `monthly_sums` MonthlySums
            - `months_sums_median` number, float
            - `months_sums_minimum` number, float
            - `min_date` string
            - `max_date` string
            - `current_payment` boolean
            - `forecast` number, float
            - `forecast_month_count` integer
            - `current_employers` integer
            - `employer` Employer
              - …
        - `created_at` string — Creation date of the object
      - `xs2a_account_linked_offers_check` Xs2aAccountLinkedOffersCheckResponse
        - `links` object[]
          - `link` string
          - `description` string
          - `image` string
      - `xs2a_credit_check` Xs2aCreditCheckResponse
        - `checks` string[] — Indicates which checks were performed
        - `check_days` integer — Range in days that were used to calculated and gather the desired information
        - `results` object — The keys are the names of the requested checks.
          - `income` ChecksResult
            - `amount` number, float
            - `currency` 'EUR' | 'CHF' — The id of the currency to be used.
          - `rent` ChecksResult
            - `amount` number, float
            - `currency` 'EUR' | 'CHF' — The id of the currency to be used.
        - `object` string — Object type, in this case a xs2a_credit_check
        - `created_at` string — Creation date of the object
      - `xs2a_direct_debit_check` Xs2aDirectDebitCheckResponse
        - `check_amount` number, float — Account balance amount to be checked against
        - `check_currency_id` 'EUR' | 'CHF' — The id of the currency to be used.
        - `start_date` string — An optional field. The date format is "YYYY-mm-dd". If a start_date is given, the field "end_date" has to be set as well. The start date can be no earlier than the day after the transaction. In case the start date is invalid or not set, the earliest bank work day will be used.
        - `end_date` string — An optional field. The date format is "YYYY-mm-dd". The end date has to be at lest 3 days after the start date and can be a maximum of 30 days into the future. If there is no end date given, the maximum of 30 days will be used.
        - `recommendation` 'DATE' | 'ANY' | 'REJECT' — This field represents the response from our system. The values will either be ANY, DATE or REJECT. If ANY is returned, it should be save to execute the direct debit at any time. If DATE is returned, we suggest a date for executing the direct debit in the field recommendation_date. In case of a REJECT it is not recommended to execute a direct debit, because the amount is likely not be covered. For a REJECT the returned recommendation_date will always be "0000-00-00".
        - `recommendation_date` string — If the recommendation is DATE, this will be the recommended time to execute a direct debit. In some cases, this date might be out of the start-/end-date range supplied (reasons might be holidays etc.). In case of REJECT this field will always be set as "0000-00-00".
        - `object` string — Object type, in this case a xs2a_direct_debit_check
        - `created_at` string — Creation date of the object
      - `xs2a_fact_sheet_lists` Xs2aFactSheetListsResponse — This module allows you to create a lists of filtered transaction data from the reference account. The request can be filtered using the appropriate filters based on a set number of days, categories and/or tags, min. and/or max. amount. As a result, several key characteristics are given per list: transaction total, available days, number of contra accounts, number of transactions. In addition, extensive lists of filtered turnovers, purposes and contra account holders can be downloaded using a specific endpoint.
        - `fields` object[]
          - `name` string
          - `tags` string[]
          - `categories` string[]
          - `min_amount` number
          - `max_amount` number
        - `days` integer
        - `result` object[]
          - `fields` object
            - `name` string
            - `categories` string[]
            - `tags` string[]
            - `min_amount` number
            - `max_amount` number
          - `turnovers_count` integer
          - `sum_amounts` number, float
          - `timespan` integer
          - `distinct_counter_holders` integer
          - `turnovers` integer
        - `created_at` string — Creation date of the object
        - `object` string
      - `xs2a_name_check` Xs2aNameCheckResponse
        - `name` string — the last name that was used for the check
        - `firstname` string — the first name that was used for the check
        - `match` string — "1" if a match, "0" if not
        - `similarity` integer — The similarity of the provided and actual name
        - `created_at` string
        - `object` string — Type of this object, in this case xs2a_name_check
      - `xs2a_overdraft_limit_check` Xs2aOverdraftLimitCheckResponse
        - `booking_days` integer — Count of booking days in the date range found
        - `overdraft_limit_days` integer — Count of days the account used the overdraft limit
        - `maximum_overdraft_used` number, float — Maximum amount the overdraft was used in that date range
        - `average_overdraft_used` number, float — Average amount the overdraft was used in that date range
        - `median_overdraft_used` number, float — Median amount the overdraft was used in that date range
        - `currency_id` 'EUR' | 'CHF' — The id of the currency to be used.
        - `object` string — Object type, in this case a xs2a_overdraft_limit_check
        - `created_at` string — Creation date of the object
      - `xs2a_seizure_check` Xs2aSeizureCheckResponse
        - `is_seizure` integer — 1 if the customers account is a seizure account, 0 if otherwise
        - `days` integer — The limit of turnover days for this check
        - `object` string — Object type, in this case a xs2a_seizure_check
        - `created_at` string — Creation date of the object
      - `xs2a_standing_orders_check` Xs2aStandingOrdersCheckResponse
        - `standing_orders` object[]
          - `sender_account` BankAccountObject
            - `holder` string — name of the account holder
            - `description` string
            - `iban` string
            - `bic` string
            - `country_id` 'DE' | 'AT' | 'CH' — The 2-letter country code
          - `recipient_account` BankAccountObject
            - `holder` string — name of the account holder
            - `description` string
            - `iban` string
            - `bic` string
            - `country_id` 'DE' | 'AT' | 'CH' — The 2-letter country code
          - `amount` number, float — Amount to transfer
          - `currency` 'EUR' | 'CHF' — The id of the currency to be used.
          - `purpose` string — Purpose of the transfer
          - `frequency` 'd' | 'w' | 'm' | 'y' — Frequency of standing order, d = daily, w = weekly, m = monthly, y = yearly
          - `frequency_interval` integer — Frequency interval, in case of frequency daily or weekly the range is 1-7 (1 = Monday, 7 = Sunday). In case of monthly or yearly it is 1-31. 0 in case for a non standardized format.
          - `day` integer — Day of the execution, 1-31. 31 is used in case of execute on the last day of the month.
          - `start_execution` string — Date of the first or next execution of the standing order, format YYYY-mm-dd.
          - `end_execution` string, nullable — Date of the last execution of the standing order, format YYYY-mm-dd.
        - `object` string — Object type, in this case a xs2a_standing_orders
        - `created_at` string — Creation date of the object
      - `xs2a_all_accounts_check` Xs2aAllAccountsCheckResponse
        - `accounts` BankAccountObject[]
          - `holder` string — name of the account holder
          - `description` string
          - `iban` string
          - `bic` string
          - `country_id` 'DE' | 'AT' | 'CH' — The 2-letter country code
        - `object` string — Object type, in this case a xs2a_all_accounts_check
        - `created_at` string — Creation date of the object
      - `xs2a_account_status_check` Xs2aAccountStatusCheckResponse
        - `account_details` UserAccountsObject[]
          - `identifier` string — Can be IBAN or other Identifier of the account
          - `holder` string — Holder name
          - `description` string
          - `iban` string — IBAN
          - `bic` string — BIC
          - `account_number` string — Account number
          - `bank_code` string — Bank code
          - `bank_name` string — Bank name
          - `country_id` 'DE' | 'AT' | 'CH' — The 2-letter country code
          - `joint_account` string — Joint Account
          - `transaction_possible` boolean
          - `account_type` string — Account type
          - `balance` number, float, nullable — Balance
          - `available` number, float, nullable — Available
          - `limit` number, float, nullable — Limit
          - `currency_id` 'EUR' | 'CHF' — The id of the currency to be used.
          - `turnover_days` integer — Turnover days
          - `turnover_available_days` integer — Turnover available days
          - `turnover_count` integer — Turnover count
          - `average_account_usage` string — Average account usage
          - `overdraft_days` integer — Overdraft days
          - `overdraft_limit_days` integer — Overdraft limit days
          - `completeness` object
            - `counter_holder` string
            - `counter_iban` string
            - `purpose` string
          - `account_data_available` string
        - `other_accounts` OtherAccountsObject[]
          - `holder` string — name of the account holder
          - `iban` string
          - `bic` string
          - `country_id` 'DE' | 'AT' | 'CH' — The 2-letter country code
          - `bank_name` string — name of the bank
          - `type` string
        - `credit_cards` CreditCardsObject[]
          - `holder` string — name of the account holder
          - `iban` string — credit card number, shaded
          - `bic` string
          - `country_id` string
          - `bank_name` string — name of the bank
          - `description` string — type of the credit card
        - `days` integer — The limit of turnover days for this check
        - `all_accounts` string — Shows the chosen option, with all accounts (1) or not (0)
        - `created_at` string — Creation date of the object
        - `object` string — Object type, in this case a xs2a_account_status_check
      - `xs2a_holder_identification_check` Xs2aHolderIdentificationCheckResponse
        - `expect_holders` string[]
        - `accounts` AccountHoldersObject[]
          - `type` string — Giro
          - `holder` string — holder
          - `iban` string
          - `matches` MatchesObject[]
            - `expected_holder` string — name of the expected holder
            - `match` 'NONE' | 'PERSON' | 'LAST_NAME' | 'COMPANY'
        - `object` string — Object type, in this case a xs2a_holder_identification_check
        - `created_at` string — Creation date of the object
      - `xs2a_risk_calculations_check` Xs2aRiskCalculationsCheckResponse
        - `calculations` RiskCalculationsResponse[]
          - `tags` CalculationsTags[]
          - `categories` CalculationsCategories[]
          - `functions` CalculationsFunctions[]
          - `name` string — A name for this calculation.
          - `days` integer — Days
          - `from` string — Starting date
          - `to` string — Ending date
          - `full_months` string — Full months
          - `results` object — Results of each function.
        - `created_at` string — Creation date of the object
        - `object` string — Object type, in this case a xs2a_risk_calculations_check
      - `xs2a_account_characteristics_check` Xs2aAccountCharacteristicsCheckResponse
        - `chargebacks` ChargebacksObject
          - `chargebacks_coverage_count` integer — Total number of chargebacks for lack of cover on all authorized accounts.
          - `chargebacks_coverage_amount` number, float — Total amount of money, the return debit due to lack of coverage on all authorized accounts.
          - `chargebacks_revoke_count` integer — Total number of chargebacks initiated by the Account Holder on all authorized accounts.
          - `chargebacks_revoke_amount` number, float — Grand total of the chargebacks initiated by the Account Holder on all authorized accounts.
        - `encashment` EncashmentObject
          - `collection_count` integer — Number of all bookings to debt collection agencies / departments / lawyers.
          - `collection_amount` number, float — Total of all bookings to debt collection agencies / departments.
          - `collection_office_count` integer — Number of different counterholders
        - `account_profile` AccountProfileObject
          - `cash_withdrawals` integer — Number of cash withdrawals
          - `cash_deposits` integer — Number of cash deposits
          - `payment_gez` string
          - `payment_schufa` string
          - `payment_donation` string
          - `payment_party` string
          - `payment_club` string
        - `loans` LoansObject
          - `loans_count` integer — Number of different recognized loan agreements.
          - `loans_amount` number, float — Sum of monthly loan commitments, i. Sum of all rates of current loan commitments.
          - `subprime_lender_count` integer — The number of different subprime lenders is counted in this feature.
        - `flags` FlagsObject
        - `object` string — Object type, in this case a xs2a_account_characteristics_check
        - `created_at` string — Creation date of the object
      - `xs2a_collection_check` Xs2aCollectionCheckResponse
        - `result` object
          - `instant_payment` boolean
          - `monthly_installment` object[]
            - `value` number
            - `currency_id` string
            - `day_of_month` integer
          - `suspension` boolean
          - `cash_flow_per_month` object[]
            - `value` number
            - `currency_id` string
            - `periods` integer
          - `motor_vehicle` boolean
          - `real_estate` boolean
          - `seizure` boolean
          - `usable_account` boolean
          - `debt_collection` object[]
            - `sum` number
            - `payments` integer
            - `currency_id` string
            - `average_per_month` number
    - object
      - `id` string — Transaction id
      - `transaction` string — Internal XS2A transaction id. This id will be the same for the whole transaction
      - `sender_holder` string — Account holder of the sender account
      - `sender_iban` string — IBAN of the sender account
      - `sender_bic` string — BIC of the sender account
      - `sender_bank_name` string — Name of the sender bank
      - `sender_country_id` 'DE' | 'AT' | 'CH' — The 2-letter country code
      - `recipient_holder` string — Account holder of the recipient account
      - `recipient_iban` string — IBAN of the recipient account
      - `recipient_bic` string — BIC of the recipient account
      - `recipient_bank_name` string — Name of the recipient bank
      - `recipient_country_id` 'DE' | 'AT' | 'CH' — The 2-letter country code
      - `purpose` string — Purpose of transfer
      - `amount` number, float — Amount to transfer
      - `currency_id` 'EUR' | 'CHF' — The id of the currency to be used.
      - `testmode` string — Indicates whether or not it is a test transaction
      - `payment_status` 'NONE' | 'RECEIVED' | 'LOSS' — Payment status of the transaction. By default, this will be `NONE` and will not automatically be set to anything else, unless you are using the account reconciliation feature, or you are changing it yourself (either via the dashboard or the API). The status `NONE` means that the payment was initiated but not found on the recipient account (default value). The status `RECEIVED` means that the payment was found on the recipient account, which is determined either by the mentioned reconciliation feature or manually by you. `LOSS` means, that the payment has not been found on the recipient account after >= 5 days. Maintaining clean and accurate tracking of `payment_status` helps you with fraud prevention. It allows you to specify rules in our fraud prevention tool (e.g. how many pending transactions (status `NONE`) you allow from a certain bank account.)
      - `metadata` Metadata, nullable — An array of data which will be passed back to your application. With this field you can for example pass information about your customer ids, order ids and the like back to your application. Please beware of some restrictions for the metadata field: maximum of 3 values, maximum of a key length of 20 characters, maximum length of values is 128 characters. For privacy protection reason it is not allowed to use this field for transferring personal data (e.g. names or addresses).
      - `merchant_id` string — Data will be returned unchanged
      - `object` string — Object type, in this case a xs2a_payment
    - object
      - `id` string — Bank Connection ID
      - `transaction` string — Internally used XS2A transaction id.
      - `bic` string — BIC of the bank of the bank connection
      - `bank_name` string — The name of the bank of the bank connection
      - `country_id` 'DE' | 'AT' | 'CH' — The 2-letter country code
      - `sync_mode` 'full' | 'shared' | 'none' — The mode how the bank connection is synced.
      - `sync_active` boolean — Indicates whether the sync is active
      - `sync_message` string — ???
      - `sync_fail_counter` integer — A counter of failed syncs for this connection
      - `last_synced` string — The date when the connection was last synced
      - `consent_valid_until` string — The consent is valid until the given date (Format: YYYY-MM-DD).
      - `testmode` boolean — Indicates whether this bank connection is in test mode
      - `created_at` string — Date of creation
      - `object` string — The value bank_connection
  - `testmode` string — Indicates whether or not this event belongs to a test transaction
  - `message` string — A human readable message that describes this event.
  - `created_at` string — The date the event was fired.
  - `object` string — xs2a_event for event objects.

## Other responses

- `401` — Authentication failed API key missing or not valid
- `403` — Forbidden Access blocked
- `404` — Product not enabled or Not found The requested object does not exist on the server
- `422` — Validation failed Something is wrong with the user input
- `500` — An internal server problem occurred

---

[API](https://skmtc.dev/xs2a/apis/xs2a-api.md) · [All operations](https://skmtc.dev/xs2a/apis/xs2a-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/xs2a/xs2a-api/revisions/ae5fbc5feee3/schema)
