Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.
get_api_artifactsOne API's artifacts, grouped by type.
get_openapiThe primary OpenAPI for this API.
find_similar_apisAPIs that look like this one.
apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
resolveTurn a domain, URL or GitHub org into the provider it belongs to.
find_cohortsEvery scored population of providers in the catalog.
All 92 tools →
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/tietoevry-account-information-service-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Tietoevry Account Information Service API
version: '1.0'
description: 'Operations tagged Account Information Service across 6 of this provider''s published API definitions: tietoevry-financial-api-aggregation-swagger.json, tietoevry-openbanking-xs2a-swagger.json, tietoevry-tieto-xs2a-accounts-premium.v1_3.yaml, tietoevry-tieto-xs2a-accounts.v1_2.yaml, tietoevry-tieto-xs2a-accounts.v1_3.yaml, tietoevry-tieto-xs2a-vam-accounts.yaml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://aggregation.api.tieto.com
- url: http://openbanking.api.tieto.com
- url: https://openbanking.api.tieto.com
- url: https://openbanking.api.tieto.com/sandbox
- url: https://openbanking.api.tieto.com/live
- url: https://openbanking.api.tietoevry.com
tags:
- name: Account Information Service
description: Operations for managing account information.
paths:
/v1/xs2a/v1.0/providers/{provider-id}/accounts:
get:
tags:
- Account Information Service
summary: Read Account List
description: Reads a list of bank accounts, with balances where required.
operationId: getAccounts
parameters:
- name: provider-id
in: path
description: Identifier of an ASPSP, previously returned by the system
required: true
schema:
type: string
- name: withBalance
in: query
description: If contained, this function reads the list of accessible payment accounts including the booking balance. This call will be rejected if the withBalance parameter is used in a case, where the access right on balances is not granted in the related consent
required: false
schema:
type: boolean
- name: Accept
in: header
required: true
schema:
type: string
enum:
- application/json
- name: X-API-Key
in: header
description: Authorisation key that can be acquired in Sandbox.
required: true
schema:
type: string
- name: End-User-ID
in: header
description: The system-generated ID of an anonymous End User.
required: true
schema:
type: string
format: uuid
- name: Consent-ID
in: header
description: Shall be contained since “Establish Consent Transaction” was performed via this API before. If absent, then the system will attempt to use the consent tied to the End User ID.
required: false
schema:
type: string
format: uuid
- name: X-Request-ID
in: header
description: ID of the request, unique to the call, as determined by the initiating party.
required: true
schema:
type: string
format: uuid
responses:
'200':
description: No errors occurred. Return a list of accounts. Each account's _links section is using viewBalances and viewTransactions links.
headers:
myheader:
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/JsonGetAccountsResponse'
'400':
description: One of mandatory parameters(headers, request body or query parameters) missing or in incorrect format
content:
application/json:
schema:
$ref: '#/components/schemas/JsonErrorResponse'
'401':
description: Consent expired, consent is not valid for requested resource
content:
application/json:
schema:
$ref: '#/components/schemas/JsonErrorResponse'
'403':
description: Consent absent, consent not authorized by user
content:
application/json:
schema:
$ref: '#/components/schemas/JsonErrorResponse'
'429':
description: Consent access exceeded
content:
application/json:
schema:
$ref: '#/components/schemas/JsonErrorResponse'
servers:
- url: https://aggregation.api.tieto.com
/v1/xs2a/v1.0/providers/{provider-id}/accounts/{account-id}:
get:
tags:
- Account Information Service
summary: Read Account Details
description: Reads details about an account, with balances where required.
operationId: getAccount
parameters:
- name: provider-id
in: path
description: Identifier of an ASPSP, previously returned by the system
required: true
schema:
type: string
- name: account-id
in: path
description: This identification is denoting the addressed account. The account-id is retrieved by using a “Read Account List” call. The account-id is the “id” attribute of the account structure. Its value is constant at least throughout the lifecycle of a given consent.
required: true
schema:
type: string
- name: withBalance
in: query
description: If contained, this function reads the list of accessible payment accounts including the booking balance. This call will be rejected if the withBalance parameter is used in a case, where the access right on balances is not granted in the related consent
required: false
schema:
type: boolean
- name: Accept
in: header
required: true
schema:
type: string
enum:
- application/json
- name: X-API-Key
in: header
description: Authorisation key that can be acquired in Sandbox.
required: true
schema:
type: string
- name: End-User-ID
in: header
description: The system-generated ID of an anonymous End User.
required: true
schema:
type: string
format: uuid
- name: Consent-ID
in: header
description: Shall be contained since “Establish Consent Transaction” was performed via this API before. If absent, then the system will attempt to use the consent tied to the End User ID.
required: false
schema:
type: string
format: uuid
- name: X-Request-ID
in: header
description: ID of the request, unique to the call, as determined by the initiating party.
required: true
schema:
type: string
format: uuid
responses:
'200':
description: No errors occurred. Returns an account. In _links section viewBalances and viewTransactions links will be used
content:
application/json:
schema:
$ref: '#/components/schemas/JsonGetAccountResponse'
'400':
description: One of mandatory parameters(headers, request body or query parameters) missing or in incorrect format
content:
application/json:
schema:
$ref: '#/components/schemas/JsonErrorResponse'
'401':
description: Consent expired, consent is not valid for requested resource
content:
application/json:
schema:
$ref: '#/components/schemas/JsonErrorResponse'
'403':
description: Consent absent, consent not authorized by user
content:
application/json:
schema:
$ref: '#/components/schemas/JsonErrorResponse'
'404':
description: Account not found
content:
application/json:
schema:
$ref: '#/components/schemas/JsonErrorResponse'
'429':
description: Consent access exceeded
content:
application/json:
schema:
$ref: '#/components/schemas/JsonErrorResponse'
servers:
- url: https://aggregation.api.tieto.com
/v1/xs2a/v1.0/providers/{provider-id}/accounts/{account-id}/balances:
get:
tags:
- Account Information Service
summary: Read Balance
description: Reads account data from a given account addressed by 'account-id'.
operationId: getAccountBalances
parameters:
- name: provider-id
in: path
description: Identifier of an ASPSP, previously returned by the system
required: true
schema:
type: string
- name: account-id
in: path
description: This identification is denoting the addressed account. The account-id is retrieved by using a “Read Account List” call. The account-id is the “id” attribute of the account structure. Its value is constant at least throughout the lifecycle of a given consent.
required: true
schema:
type: string
- name: Accept
in: header
required: true
schema:
type: string
enum:
- application/json
- name: X-API-Key
in: header
description: Authorisation key that can be acquired in Sandbox.
required: true
schema:
type: string
- name: End-User-ID
in: header
description: The system-generated ID of an anonymous End User.
required: true
schema:
type: string
format: uuid
- name: Consent-ID
in: header
description: Shall be contained since “Establish Consent Transaction” was performed via this API before. If absent, then the system will attempt to use the consent tied to the End User ID.
required: false
schema:
type: string
format: uuid
- name: X-Request-ID
in: header
description: ID of the request, unique to the call, as determined by the initiating party.
required: true
schema:
type: string
format: uuid
responses:
'200':
description: No errors occurred. Returns the account's balances
content:
application/json:
schema:
$ref: '#/components/schemas/JsonGetAccountBalancesResponse'
'400':
description: One of mandatory parameters(headers, request body or query parameters) missing or in incorrect format
content:
application/json:
schema:
$ref: '#/components/schemas/JsonErrorResponse'
'401':
description: Consent expired, consent is not valid for requested resource
content:
application/json:
schema:
$ref: '#/components/schemas/JsonErrorResponse'
'403':
description: Consent absent, consent not authorized by user
content:
application/json:
schema:
$ref: '#/components/schemas/JsonErrorResponse'
'404':
description: Account not found
content:
application/json:
schema:
$ref: '#/components/schemas/JsonErrorResponse'
'429':
description: Consent access exceeded
content:
application/json:
schema:
$ref: '#/components/schemas/JsonErrorResponse'
servers:
- url: https://aggregation.api.tieto.com
/v1/xs2a/v1.0/providers/{provider-id}/accounts/{account-id}/transactions:
get:
tags:
- Account Information Service
summary: Read Transaction List
description: Reads account data from a given account addressed by 'account-id'.
operationId: getAccountTransactions
parameters:
- name: provider-id
in: path
description: Identifier of an ASPSP, previously returned by the system
required: true
schema:
type: string
- name: account-id
in: path
description: This identification is denoting the addressed account. The account-id is retrieved by using a “Read Account List” call. The account-id is the “id” attribute of the account structure. Its value is constant at least throughout the lifecycle of a given consent.
required: true
schema:
type: string
- name: Accept
in: header
required: true
schema:
type: string
enum:
- application/json
- name: X-API-Key
in: header
description: Authorisation key that can be acquired in Sandbox.
required: true
schema:
type: string
- name: End-User-ID
in: header
description: The system-generated ID of an anonymous End User.
required: true
schema:
type: string
format: uuid
- name: Consent-ID
in: header
description: Shall be contained since “Establish Consent Transaction” was performed via this API before. If absent, then the system will attempt to use the consent tied to the End User ID.
required: false
schema:
type: string
format: uuid
- name: X-Request-ID
in: header
description: ID of the request, unique to the call, as determined by the initiating party.
required: true
schema:
type: string
format: uuid
- name: dateFrom
in: query
description: 'ISODate
Starting date of the transaction list'
required: true
schema:
type: string
format: date-time
- name: dateTo
in: query
description: 'ISODate
End date of the transaction list, default is now if not given'
required: false
schema:
type: string
format: date-time
- name: bookingStatus
in: query
description: Filter by transaction booking status
required: true
schema:
type: string
enum:
- booked
- pending
- both
- name: withBalance
in: query
description: If contained, this function reads the list of accessible payment accounts including the booking balance. This call will be rejected if the withBalance parameter is used in a case, where the access right on balances is not granted in the related consent
required: false
schema:
type: boolean
responses:
'200':
description: No errors occurred. Returns account's transactions. In _links section viewAccount link will be used.
content:
application/json:
schema:
$ref: '#/components/schemas/JsonGetAccountTransactionsResponse'
'400':
description: One of mandatory parameters(headers, request body or query parameters) missing or in incorrect format
content:
application/json:
schema:
$ref: '#/components/schemas/JsonErrorResponse'
'401':
description: Consent expired, consent is not valid for requested resource
content:
application/json:
schema:
$ref: '#/components/schemas/JsonErrorResponse'
'403':
description: Consent absent, consent not authorized by user
content:
application/json:
schema:
$ref: '#/components/schemas/JsonErrorResponse'
'404':
description: Account not found
content:
application/json:
schema:
$ref: '#/components/schemas/JsonErrorResponse'
'429':
description: Consent access exceeded
content:
application/json:
schema:
$ref: '#/components/schemas/JsonErrorResponse'
servers:
- url: https://aggregation.api.tieto.com
/sandbox/xs2a/v1.3/accounts:
get:
tags:
- Account Information Service
summary: Read Account List
description: Reads a list of bank accounts, with balances where required.
operationId: getAccounts
parameters:
- name: Accept
in: header
required: true
schema:
type: string
enum:
- application/json
- name: X-API-Key
in: header
description: Authorisation key that can be acquired in Sandbox.
required: true
schema:
type: string
- name: Consent-ID
in: header
description: Shall be contained since “Establish Consent Transaction” was performed via this API before.
required: true
schema:
type: string
format: uuid
- name: X-Request-ID
in: header
description: ID of the request, unique to the call, as determined by the initiating party.
required: true
schema:
type: string
format: uuid
- name: PSU-IP-Address
in: header
description: The forwarded IP Address header field consists of the corresponding HTTP request IP Address field between PSU and TPP.
required: true
schema:
type: string
- name: withBalance
in: query
description: If contained, this function reads the list of accessible payment accounts including the booking balance. This call will be rejected if the withBalance parameter is used in a case, where the access right on balances is not granted in the related consent
required: false
schema:
type: boolean
responses:
'200':
description: No errors ocurred. Return a list of accounts. Each account's _links section is using viewBalances and viewTransactions links.
content:
application/json:
schema:
$ref: '#/components/schemas/JsonGetAccountsResponse'
'400':
description: One of mandatory parameters(headers, request body or query parameters) missing or in incorrect format
content:
application/json:
schema:
$ref: '#/components/schemas/JsonErrorResponse_2'
'401':
description: Consent expired, consent is not valid for requested resource
content:
application/json:
schema:
$ref: '#/components/schemas/JsonErrorResponse_2'
'403':
description: Consent absent, consent not authorized by user
content:
application/json:
schema:
$ref: '#/components/schemas/JsonErrorResponse_2'
'429':
description: Consent access exceeded
content:
application/json:
schema:
$ref: '#/components/schemas/JsonErrorResponse_2'
servers:
- url: http://openbanking.api.tieto.com
- url: https://openbanking.api.tieto.com
/sandbox/xs2a/v1.3/accounts/{account-id}:
get:
tags:
- Account Information Service
summary: Read Account Details
description: Reads details about an account, with balances where required.
operationId: getAccount
parameters:
- name: Accept
in: header
required: true
schema:
type: string
enum:
- application/json
- name: account-id
in: path
description: This identification is denoting the addressed account. The account-id is retrieved by using a “Read Account List” call. The account-id is the “id” attribute of the account structure. Its value is constant at least throughout the lifecycle of a given consent.
required: true
schema:
type: string
- name: X-API-Key
in: header
description: Authorisation key that can be acquired in Sandbox.
required: true
schema:
type: string
- name: Consent-ID
in: header
description: Shall be contained since “Establish Consent Transaction” was performed via this API before.
required: true
schema:
type: string
format: uuid
- name: X-Request-ID
in: header
description: ID of the request, unique to the call, as determined by the initiating party.
required: true
schema:
type: string
format: uuid
- name: PSU-IP-Address
in: header
description: The forwarded IP Address header field consists of the corresponding HTTP request IP Address field between PSU and TPP.
required: true
schema:
type: string
- name: withBalance
in: query
description: If contained, this function reads the list of accessible payment accounts including the booking balance. This call will be rejected if the withBalance parameter is used in a case, where the access right on balances is not granted in the related consent
required: false
schema:
type: boolean
responses:
'200':
description: No errors ocurred. Returns an account. In _links section viewBalances and viewTransactions links will be used
content:
application/json:
schema:
$ref: '#/components/schemas/JsonGetAccountResponse'
'400':
description: One of mandatory parameters(headers, request body or query parameters) missing or in incorrect format
content:
application/json:
schema:
$ref: '#/components/schemas/JsonErrorResponse_2'
'401':
description: Consent expired, consent is not valid for requested resource
content:
application/json:
schema:
$ref: '#/components/schemas/JsonErrorResponse_2'
'403':
description: Consent absent, consent not authorized by user
content:
application/json:
schema:
$ref: '#/components/schemas/JsonErrorResponse_2'
'404':
description: Account not found
content:
application/json:
schema:
$ref: '#/components/schemas/JsonErrorResponse_2'
'429':
description: Consent access exceeded
content:
application/json:
schema:
$ref: '#/components/schemas/JsonErrorResponse_2'
servers:
- url: http://openbanking.api.tieto.com
- url: https://openbanking.api.tieto.com
/sandbox/xs2a/v1.3/accounts/{account-id}/balances:
get:
tags:
- Account Information Service
summary: Read Balance
description: Reads account data from a given account addressed by 'account-id'.
operationId: getAccountBalances
parameters:
- name: Accept
in: header
required: true
schema:
type: string
enum:
- application/json
- name: account-id
in: path
description: This identification is denoting the addressed account. The account-id is retrieved by using a “Read Account List” call. The account-id is the “id” attribute of the account structure. Its value is constant at least throughout the lifecycle of a given consent.
required: true
schema:
type: string
- name: X-API-Key
in: header
description: Authorisation key that can be acquired in Sandbox.
required: true
schema:
type: string
- name: Consent-ID
in: header
description: Shall be contained since “Establish Consent Transaction” was performed via this API before.
required: true
schema:
type: string
format: uuid
- name: X-Request-ID
in: header
description: ID of the request, unique to the call, as determined by the initiating party.
required: true
schema:
type: string
format: uuid
- name: PSU-IP-Address
in: header
description: The forwarded IP Address header field consists of the corresponding HTTP request IP Address field between PSU and TPP.
required: true
schema:
type: string
responses:
'200':
description: No errors ocurred. Returns the account's balances
content:
application/json:
schema:
$ref: '#/components/schemas/JsonGetAccountBalancesResponse'
'400':
description: One of mandatory parameters(headers, request body or query parameters) missing or in incorrect format
content:
application/json:
schema:
$ref: '#/components/schemas/JsonErrorResponse_2'
'401':
description: Consent expired, consent is not valid for requested resource
content:
application/json:
schema:
$ref: '#/components/schemas/JsonErrorResponse_2'
'403':
description: Consent absent, consent not authorized by user
content:
application/json:
schema:
$ref: '#/components/schemas/JsonErrorResponse_2'
'404':
description: Account not found
content:
application/json:
schema:
$ref: '#/components/schemas/JsonErrorResponse_2'
'429':
description: Consent access exceeded
content:
application/json:
schema:
$ref: '#/components/schemas/JsonErrorResponse_2'
servers:
- url: http://openbanking.api.tieto.com
- url: https://openbanking.api.tieto.com
/sandbox/xs2a/v1.3/accounts/{account-id}/transactions:
get:
tags:
- Account Information Service
summary: Read Transaction List
description: Reads account data from a given account addressed by 'account-id'.
operationId: getAccountTransactions
parameters:
- name: Accept
in: header
required: true
schema:
type: string
enum:
- application/json
- name: account-id
in: path
description: This identification is denoting the addressed account. The account-id is retrieved by using a “Read Account List” call. The account-id is the “id” attribute of the account structure. Its value is constant at least throughout the lifecycle of a given consent.
required: true
schema:
type: string
- name: X-API-Key
in: header
description: Authorisation key that can be acquired in Sandbox.
required: true
schema:
type: string
- name: Consent-ID
in: header
description: Shall be contained since “Establish Consent Transaction” was performed via this API before.
required: true
schema:
type: string
format: uuid
- name: X-Request-ID
in: header
description: ID of the request, unique to the call, as determined by the initiating party.
required: true
schema:
type: string
format: uuid
- name: PSU-IP-Address
in: header
description: The forwarded IP Address header field consists of the corresponding HTTP request IP Address field between PSU and TPP.
required: true
schema:
type: string
- name: dateFrom
in: query
description: 'ISODate
Starting date of the transaction list'
required: true
schema:
type: string
format: date-time
- name: dateTo
in: query
description: 'ISODate
End date of the transaction list, default is now if not given'
required: false
schema:
type: string
format: date-time
- name: bookingStatus
in: query
description: Filter by transaction booking status
required: true
schema:
type: string
enum:
- booked
- pending
- both
- name: withBalance
in: query
description: If contained, this function reads the list of accessible payment accounts including the booking balance. This call will be rejected if the withBalance parameter is used in a case, where the access right on balances is not granted in the related consent
required: false
schema:
type: boolean
responses:
'200':
description: No errors ocurred. Returns account's transactions. In _links section viewAccount link will be used.
content:
application/json:
schema:
$ref: '#/components/schemas/JsonGetAccountTransactionsResponse'
'400':
description: One of mandatory parameters(headers, request body or query parameters) missing or in incorrect format
content:
application/json:
schema:
$ref: '#/components/schemas/JsonErrorResponse_2'
'401':
description: Consent expired, consent is not valid for requested resource
content:
application/json:
schema:
$ref: '#/components/schemas/JsonErrorResponse_2'
'403':
description: Consent absent, consent not authorized by user
content:
application/json:
schema:
$ref: '#/components/schemas/JsonErrorResponse_2'
'404':
description: Account not found
content:
application/json:
schema:
$ref: '#/components/schemas/JsonErrorResponse_2'
'429':
description: Consent access exceeded
content:
application/json:
schema:
$ref: '#/components/schemas/JsonErrorResponse_2'
servers:
- url: http://openbanking.api.tieto.com
- url: https://openbanking.api.tieto.com
/sandbox/xs2a/v1.3/accounts/{account-id}/transactions/{transactionId}:
get:
tags:
- Account Information Service
summary: Read Transaction detail
description: Reads transaction data from a given account addressed by 'account-id' and 'transactionId'. This call is only available on transactions as reported in a JSON format.
operationId: getAccountTransaction
parameters:
- name: Accept
in: header
required: true
schema:
type: string
enum:
- application/json
- name: account-id
in: path
description: This identification is denoting the addressed account. The account-id is retrieved by using a “Read Account List” call. The account-id is the “id” attribute of the account structure. Its value is constant at least throughout the lifecycle of a given consent.
required: true
schema:
type: string
- name: transactionId
in: path
description: This identification is denoting the addressed transaction. The transactionId is retrieved by using a “Read Transaction List” call. The transactionId is the “id” attribute of the transaction structure. Its value is constant at least throughout the lifecycle of a given consent.
required: true
schema:
type: string
- name: X-API-Key
in: header
description: Authorisation key that can be acquired in Sandbox.
required: true
schema:
type: string
- name: Consent-ID
in: header
description: Shall be contained since “Establish Consent Transaction” was performed via this API before.
required: true
schema:
type: string
format: uuid
- name: X-Request-ID
in: header
description: ID of the request, unique to the call, as determined by the initiating party.
required: true
schema:
type: string
format: uuid
- name: PSU-IP-Address
in: header
description: The forwarded IP Address header field consists of the corresponding HTTP request IP Address field between PSU and TPP.
required: true
schema:
type: string
responses:
'200':
description: No errors ocurred. Returns transaction details.
content:
application/json:
schema:
$ref: '#/components/schemas/JsonGetAccountTransactionDetailsResponse'
'400':
description: One of mandatory parameters(headers, request body or query parameters) missi
# --- truncated at 32 KB (122 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/tietoevry/refs/heads/main/openapi/tietoevry-account-information-service-api-openapi.yml