---
title: "Download a fact_sheet_lists json lists"
method: GET
path: "/risks/{transaction-id}/jsonlists"
tags: ["XS2A.risk"]
---

# Download a fact_sheet_lists json lists

`GET /risks/{transaction-id}/jsonlists`

For detailed information onm fact_sheet_lists check, where the whole turnovers and all distinct counter holders  are included. The response object described here details the fact_sheet_lists_check response.

## Path parameters

- `transaction-id` string, required

## Response `200`

Request successfully processed

- RiskObjectWithLists
  - `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_fact_sheet_lists` Xs2aFactSheetListsResponseJsonlists — 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. With /jsonlists its possible so see all turnovers with all distinct counter holders.
    - `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` string[]
      - `turnovers` TurnoverBookingText[]
        - `booking_date` string — The booking date.
        - `amount` number, float — The turnover amount. Negative for expenditures.
        - `currency` 'EUR' | 'CHF' — The id of the currency to be used.
        - `purpose` string[] — A string array of purpose lines. The contents vary from bank to bank.
        - `booking_text` string — The booking text of the purpose. This is not always present.
        - `counter_iban` string — The counter IBAN of the booking. This is not always present.
        - `counter_bic` string — The counter BIC of the booking. This is not always present.
        - `counter_holder` string — The counter holder of the booking. This is not always present.
        - `prebooked` boolean — True, if the turnover has not been booked yet
        - `canceled` boolean — True, if the turnover has been canceled.
        - `tags` string[] — An array of strings of tags for this turnover. Find all possible tags here: https://manage.xs2a.com/documentation/tags
        - `category_id` string — The ID of the category found for this turnover. The structure of this `category_id` string is hierarchical, meaning, the more numbers there are, the more detailed the category is. For example, while `K.1` means "expenses for wholesale and retail trade", some turnovers might be categorized more detailed as `K.1.1` ("expenses in retail stores"), or even as `K.1.1.1` ("groceries full-range trader"). You can find the complete list of categories [here](https://manage.xs2a.com/documentation/categories). **NOTE**: As new categories are introduced and the categorization itself is improved constantly, it is possible that the same turnover can be categorized with a different (more detailed) `category_id` at a future point in time. You should develop your application in such a way, that, for example, if your logic relies on something happening when a `category_id` is `K.1.1`, but you get `K.1.2` for which no logic is in place (because it might be a new `category_id` or the turnover is now categorized more detailed), **you should always fall back to the next higher level category**, in this case `K.1`. This way, your logic can still handle the turnover based on a more general category, while not throwing an error.
        - `creditor_id` string — The ID of the creditor.
        - `new` boolean — True, if this turnover is new since the last sync.
    - `created_at` string — Creation date of the object
    - `object` string

## 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
- `410` — The object has been deleted intentionally
- `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)
