> For the complete documentation index, see [llms.txt](https://doc.api.tieto.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.api.tieto.com/api-references/nextgenpsd2-xs2a/account-information-service.md).

# Account Information Service

Account information lets a licensed third party read a bank customer's account data — the accounts they hold, the balances on them and their transaction history — once that customer has granted a Consent. It is the foundation of most open banking products: budgeting and money-management apps, accounting and bookkeeping tools, affordability and credit checks.

Your platform publishes it for each tenant bank, which is how they discharge the account-access half of the PSD2 obligation without building an interface of their own. For the third parties, one integration reaches every bank you serve rather than one per institution — which is the reason a platform like yours is worth connecting to at all. Nothing is exposed that the customer has not explicitly agreed to, each Consent has a defined scope and lifetime, and every access is recorded across the whole tenant base, so a supervisor's question or a customer's question about who saw what has one place to be answered.

The reference below is generated from the Berlin Group **openFinance API Framework XS2A — Account Information Service, version 2.4.1**, extended with the account-access consent and authorisation endpoints from the Berlin Group **Consent API for V2.x**. It follows the order a real integration does: establish a consent, have the customer authorize it, then read.

## Consent

Nothing below this section works without a consent, which is the point. The consent — not the access token — defines which accounts may be read, which balances and transaction lists are included, for how long, and how often the third party may call without the customer present.

{% openapi src="<https://openapi.gitbook.com/o/KyVIEwYYrq5jxGkUbjPq/spec/bg-ofa-xs2a-ais.yaml>" path="/consents/account-access" method="post" %}
<https://openapi.gitbook.com/o/KyVIEwYYrq5jxGkUbjPq/spec/bg-ofa-xs2a-ais.yaml>
{% endopenapi %}

{% openapi src="<https://openapi.gitbook.com/o/KyVIEwYYrq5jxGkUbjPq/spec/bg-ofa-xs2a-ais.yaml>" path="/consents/account-access/{consentId}" method="get" %}
<https://openapi.gitbook.com/o/KyVIEwYYrq5jxGkUbjPq/spec/bg-ofa-xs2a-ais.yaml>
{% endopenapi %}

## Accounts

{% openapi src="<https://openapi.gitbook.com/o/KyVIEwYYrq5jxGkUbjPq/spec/bg-ofa-xs2a-ais.yaml>" path="/accounts" method="get" %}
<https://openapi.gitbook.com/o/KyVIEwYYrq5jxGkUbjPq/spec/bg-ofa-xs2a-ais.yaml>
{% endopenapi %}

{% openapi src="<https://openapi.gitbook.com/o/KyVIEwYYrq5jxGkUbjPq/spec/bg-ofa-xs2a-ais.yaml>" path="/accounts/{account-id}" method="get" %}
<https://openapi.gitbook.com/o/KyVIEwYYrq5jxGkUbjPq/spec/bg-ofa-xs2a-ais.yaml>
{% endopenapi %}

## Balances and transactions

{% openapi src="<https://openapi.gitbook.com/o/KyVIEwYYrq5jxGkUbjPq/spec/bg-ofa-xs2a-ais.yaml>" path="/accounts/{account-id}/balances" method="get" %}
<https://openapi.gitbook.com/o/KyVIEwYYrq5jxGkUbjPq/spec/bg-ofa-xs2a-ais.yaml>
{% endopenapi %}

{% openapi src="<https://openapi.gitbook.com/o/KyVIEwYYrq5jxGkUbjPq/spec/bg-ofa-xs2a-ais.yaml>" path="/accounts/{account-id}/transactions" method="get" %}
<https://openapi.gitbook.com/o/KyVIEwYYrq5jxGkUbjPq/spec/bg-ofa-xs2a-ais.yaml>
{% endopenapi %}

{% openapi src="<https://openapi.gitbook.com/o/KyVIEwYYrq5jxGkUbjPq/spec/bg-ofa-xs2a-ais.yaml>" path="/accounts/{account-id}/transactions/{transactionId}" method="get" %}
<https://openapi.gitbook.com/o/KyVIEwYYrq5jxGkUbjPq/spec/bg-ofa-xs2a-ais.yaml>
{% endopenapi %}

## Card accounts

{% openapi src="<https://openapi.gitbook.com/o/KyVIEwYYrq5jxGkUbjPq/spec/bg-ofa-xs2a-ais.yaml>" path="/card-accounts" method="get" %}
<https://openapi.gitbook.com/o/KyVIEwYYrq5jxGkUbjPq/spec/bg-ofa-xs2a-ais.yaml>
{% endopenapi %}

{% openapi src="<https://openapi.gitbook.com/o/KyVIEwYYrq5jxGkUbjPq/spec/bg-ofa-xs2a-ais.yaml>" path="/card-accounts/{account-id}" method="get" %}
<https://openapi.gitbook.com/o/KyVIEwYYrq5jxGkUbjPq/spec/bg-ofa-xs2a-ais.yaml>
{% endopenapi %}

{% openapi src="<https://openapi.gitbook.com/o/KyVIEwYYrq5jxGkUbjPq/spec/bg-ofa-xs2a-ais.yaml>" path="/card-accounts/{account-id}/balances" method="get" %}
<https://openapi.gitbook.com/o/KyVIEwYYrq5jxGkUbjPq/spec/bg-ofa-xs2a-ais.yaml>
{% endopenapi %}

{% openapi src="<https://openapi.gitbook.com/o/KyVIEwYYrq5jxGkUbjPq/spec/bg-ofa-xs2a-ais.yaml>" path="/card-accounts/{account-id}/transactions" method="get" %}
<https://openapi.gitbook.com/o/KyVIEwYYrq5jxGkUbjPq/spec/bg-ofa-xs2a-ais.yaml>
{% endopenapi %}

## Authorisation sub-resources

How the customer's approval is actually collected. The third party starts an authorisation process against the consent, and the response tells it which approach this institution expects — a redirect, a decoupled push, an embedded credential exchange, or a multi-level sequence where several people must approve. The same four endpoints serve every approach, which is why a third party integrates once rather than per bank.

{% openapi src="<https://openapi.gitbook.com/o/KyVIEwYYrq5jxGkUbjPq/spec/bg-ofa-xs2a-ais.yaml>" path="/{resource-path}/{resourceId}/{authorisation-category}" method="post" %}
<https://openapi.gitbook.com/o/KyVIEwYYrq5jxGkUbjPq/spec/bg-ofa-xs2a-ais.yaml>
{% endopenapi %}

{% openapi src="<https://openapi.gitbook.com/o/KyVIEwYYrq5jxGkUbjPq/spec/bg-ofa-xs2a-ais.yaml>" path="/{resource-path}/{resourceId}/{authorisation-category}" method="get" %}
<https://openapi.gitbook.com/o/KyVIEwYYrq5jxGkUbjPq/spec/bg-ofa-xs2a-ais.yaml>
{% endopenapi %}

{% openapi src="<https://openapi.gitbook.com/o/KyVIEwYYrq5jxGkUbjPq/spec/bg-ofa-xs2a-ais.yaml>" path="/{resource-path}/{resourceId}/{authorisation-category}/{authorisationId}" method="get" %}
<https://openapi.gitbook.com/o/KyVIEwYYrq5jxGkUbjPq/spec/bg-ofa-xs2a-ais.yaml>
{% endopenapi %}

{% openapi src="<https://openapi.gitbook.com/o/KyVIEwYYrq5jxGkUbjPq/spec/bg-ofa-xs2a-ais.yaml>" path="/{resource-path}/{resourceId}/{authorisation-category}/{authorisationId}" method="put" %}
<https://openapi.gitbook.com/o/KyVIEwYYrq5jxGkUbjPq/spec/bg-ofa-xs2a-ais.yaml>
{% endopenapi %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://doc.api.tieto.com/api-references/nextgenpsd2-xs2a/account-information-service.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
