Enable Banking User sessions API

The User sessions API from Enable Banking — 3 operation(s) for user sessions.

Documentation

Specifications

Schemas & Data

Other Resources

🔗
JSONLD
https://raw.githubusercontent.com/api-evangelist/enable-banking/refs/heads/main/json-ld/enable-banking-context.jsonld
🔗
SpectralRules
https://raw.githubusercontent.com/api-evangelist/enable-banking/refs/heads/main/rules/enable-banking-rules.yml
🔗
Vocabulary
https://raw.githubusercontent.com/api-evangelist/enable-banking/refs/heads/main/vocabulary/enable-banking-vocabulary.yml
🔗
SDKs
https://github.com/enablebanking/enablebanking-api-samples/tree/master/python_example
🔗
SDKs
https://github.com/enablebanking/enablebanking-api-samples/tree/master/js_example
🔗
SDKs
https://github.com/enablebanking/enablebanking-api-samples/tree/master/go_example
🔗
SDKs
https://github.com/enablebanking/enablebanking-api-samples/tree/master/cs_example
🔗
SDKs
https://github.com/enablebanking/enablebanking-api-samples/tree/master/php_example
🔗
SDKs
https://github.com/enablebanking/enablebanking-api-samples/tree/master/ruby_example
🔗
Postman
https://github.com/enablebanking/enablebanking-api-samples/tree/master/postman_example
🔗
CLI
https://github.com/enablebanking/enablebanking-cli
🔗
Tools
https://github.com/enablebanking/open_banking_eidas_broker
🔗
GitHubOrganization
https://github.com/enablebanking
🔗
ControlPanel
https://enablebanking.com/cp/
🔗
Sandbox
https://tilisy.com
🔗
Pricing
https://enablebanking.com/pricing/
🔗
Blog
https://enablebanking.com/blog/
🔗
ChangeLog
https://enablebanking.com/changelog/
🔗
Portal
https://enablebanking.com
🔗
Plans
https://raw.githubusercontent.com/api-evangelist/enable-banking/refs/heads/main/plans/enable-banking-plans-pricing.yml
🔗
FinOps
https://raw.githubusercontent.com/api-evangelist/enable-banking/refs/heads/main/finops/enable-banking-finops.yml
🔗
Features

OpenAPI Specification

enable-banking-user-sessions-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: API reference Accounts data User sessions API
  version: 1.0.0-3030f99c
servers:
- url: https://api.enablebanking.com
- url: https://api.tilisy.com
  description: (deprecated)
security:
- bearerAuth: []
tags:
- name: User sessions
paths:
  /auth:
    post:
      tags:
      - User sessions
      summary: Start user authorization
      description: Start authorization by getting a redirect link and redirecting a PSU to that link
      operationId: initialize_session_auth_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StartAuthorizationRequest'
              description: Provide desired PSU consent parameters
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StartAuthorizationResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '408':
          description: Request Timeout
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '429':
          description: Too Many Requests
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /sessions:
    post:
      tags:
      - User sessions
      summary: Authorize user session
      description: Authorize user session by provided authorization code
      operationId: authorize_session_sessions_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AuthorizeSessionRequest'
              description: Contains data necessary for authorizing session
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthorizeSessionResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '408':
          description: Request Timeout
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '429':
          description: Too Many Requests
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /sessions/{session_id}:
    get:
      tags:
      - User sessions
      summary: Get session data
      description: Get session data by session ID
      operationId: get_session_sessions__session_id__get
      parameters:
      - name: session_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          description: Previously authorized session ID
          title: Session Id
        description: Previously authorized session ID
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetSessionResponse'
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '408':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Request Timeout
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Unprocessable Entity
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Too Many Requests
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
    delete:
      tags:
      - User sessions
      summary: Delete session
      description: Delete session by session ID. PSU's bank consent will be closed automatically if possible
      operationId: delete_session_sessions__session_id__delete
      parameters:
      - name: session_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          description: Previously authorized session ID
          title: Session Id
        description: Previously authorized session ID
      - name: Psu-Ip-Address
        in: header
        required: false
        schema:
          type: string
          description: PSU IP address
          title: Psu-Ip-Address
        description: PSU IP address
      - name: Psu-User-Agent
        in: header
        required: false
        schema:
          type: string
          description: PSU browser User Agent
          title: Psu-User-Agent
        description: PSU browser User Agent
      - name: Psu-Referer
        in: header
        required: false
        schema:
          type: string
          description: PSU Referer
          title: Psu-Referer
        description: PSU Referer
      - name: Psu-Accept
        in: header
        required: false
        schema:
          type: string
          description: PSU accept header
          title: Psu-Accept
        description: PSU accept header
      - name: Psu-Accept-Charset
        in: header
        required: false
        schema:
          type: string
          description: PSU charset
          title: Psu-Accept-Charset
        description: PSU charset
      - name: Psu-Accept-Encoding
        in: header
        required: false
        schema:
          type: string
          description: PSU accept encoding
          title: Psu-Accept-Encoding
        description: PSU accept encoding
      - name: Psu-Accept-language
        in: header
        required: false
        schema:
          type: string
          description: PSU accept language
          title: Psu-Accept-Language
        description: PSU accept language
      - name: Psu-Geo-Location
        in: header
        required: false
        schema:
          type: string
          pattern: -?\d{1,2}\.\d{1,6},-?\d{1,3}\.\d{1,6}
          description: Comma separated latitude and longitude coordinates without spaces
          examples:
          - -1.2345,6.789
          title: Psu-Geo-Location
        description: Comma separated latitude and longitude coordinates without spaces
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuccessResponse'
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '408':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Request Timeout
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Unprocessable Entity
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Too Many Requests
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
components:
  schemas:
    GenericIdentification:
      properties:
        identification:
          type: string
          title: Identification
          description: An identifier
          examples:
          - '12345678'
        scheme_name:
          $ref: '#/components/schemas/SchemeName'
          description: Name of the identification scheme. Partially based on ISO20022 external code list
          examples:
          - BBAN
        issuer:
          title: Issuer
          description: Entity that assigns the identification. This could be a country code or any organisation name or identifier that can be recognized by both parties
          examples:
          - FR
          type: string
      type: object
      required:
      - identification
      - scheme_name
      title: GenericIdentification
      example:
        identification: '123456'
        scheme_name: BBAN
    SessionStatus:
      type: string
      enum:
      - INVALID
      - PENDING_AUTHORIZATION
      - RETURNED_FROM_BANK
      - AUTHORIZED
      - EXPIRED
      - CLOSED
      - REVOKED
      - CANCELLED
      title: SessionStatus
      example: INVALID
      x-enum-descriptions:
      - Session is authorised for access to account information
      - Session authorisation has been cancelled by the end-user
      - Session has been closed by the application
      - Session has expired
      - Session authorisation has failed
      - Session authorisation by the end-user is pending
      - Session authorisation has completed successfully by the end-user
      - Session has been revoked by the end-user
    AccountResource:
      properties:
        account_id:
          description: Primary account identifier
          $ref: '#/components/schemas/AccountIdentification'
        all_account_ids:
          title: All Account Ids
          description: All account identifiers provided by ASPSPs (including primary identifier available in the accountId field)
          items:
            $ref: '#/components/schemas/GenericIdentification'
          type: array
        account_servicer:
          description: Information about the financial institution servicing the account
          $ref: '#/components/schemas/FinancialInstitutionIdentification'
        name:
          title: Name
          description: Account holder(s) name
          type: string
        details:
          title: Details
          description: Account description set by PSU or provided by ASPSP
          type: string
        usage:
          description: Specifies the usage of the account
          $ref: '#/components/schemas/Usage'
        cash_account_type:
          $ref: '#/components/schemas/CashAccountType'
          description: Specifies the type of the account
        product:
          title: Product
          description: Product Name of the Bank for this account, proprietary definition
          type: string
        currency:
          type: string
          title: Currency
          description: Specifies the currency of the account
        psu_status:
          title: Psu Status
          description: Relationship between the PSU and the account - Account Holder - Co-account Holder - Attorney
          type: string
        credit_limit:
          description: Specifies the maximum credit or overdraft allowed on the account
          $ref: '#/components/schemas/AmountType'
        legal_age:
          title: Legal Age
          description: 'Specifies whether Enable Banking is confident that the account holder is of legal age or is a minor. The field takes the following values:

            true if the account holder is of legal age;

            false if the account holder is a minor;

            null (or the field is not set) if it is not possible to determine whether the account holder is of legal age or a minor or if the legal age check is not applicable (in cases such as if the account holder is a legal entity or there are multiple account co-holders)'
          type: boolean
        postal_address:
          description: Postal address of the account holder
          $ref: '#/components/schemas/PostalAddress'
        uid:
          title: Uid
          description: Unique account identificator used for fetching account balances and transactions. It is valid only until the session to which the account belongs is in the AUTHORIZED status. It can be not set in case it is know that it is not possible to fetch balances and transactions for the account (for example, in case the account is blocked or closed at the ASPSP side).
          type: string
          format: uuid
        identification_hash:
          type: string
          title: Identification Hash
          description: Primary account identification hash. It can be used for matching accounts between multiple sessions (even in case the sessions are authorized by different PSUs).
          examples:
          - WwpbCiJhY2NvdW50IiwKImFjY291bnRfaWQiLAoiaWJhbiIKXQpd.E8GzhnnsFC7K+4e3YMYYKpyM83Zx6toXrjgcvPP/Lqc=
        identification_hashes:
          items:
            type: string
          type: array
          title: Identification Hashes
          description: List of possible account identification hashes. Identification hash is based on the account number. Some accounts may have multiple account numbers (e.g. IBAN and BBAN). This field contains all possible hashes. Not all of these hashes can be used to uniquely identify an account and that the primary goal of them is to be able to fuzzy matching of accounts by certain properties. Primary hash is included in this list.
          examples:
          - - WwpbCiJhY2NvdW50IiwKImFjY291bnRfaWQiLAoiaWJhbiIKXQpd.E8GzhnnsFC7K+4e3YMYYKpyM83Zx6toXrjgcvPP/Lqc=
            - WwpbCiJhc3BzcF9uYW1lIgpdLApbCiJhc3BzcF9jb3VudHJ5IgpdLApbCiJhY2NvdW50IiwKImFjY291bnRfaWQiLAoib3RoZXIiLAoic2NoZW1lX25hbWUiCl0sClsKImFjY291bnQiLAoiYWNjb3VudF9pZCIsCiJvdGhlciIsCiJpZGVudGlmaWNhdGlvbiIKXQpd.AOm/TULGPD4a4GdcWhR9xh0GPlPUZuB2O1S9SYFWEz0=
      type: object
      required:
      - cash_account_type
      - currency
      - identification_hash
      - identification_hashes
      title: AccountResource
    ASPSP:
      properties:
        name:
          type: string
          title: Name
          description: Name of the ASPSP (i.e. a bank or a similar financial institution)
          examples:
          - Nordea
        country:
          type: string
          title: Country
          description: Two-letter ISO 3166 code of the country, in which ASPSP operates
          examples:
          - FI
      type: object
      required:
      - name
      - country
      title: ASPSP
    AmountType:
      properties:
        currency:
          type: string
          title: Currency
          description: ISO 4217 code of the currency of the amount
          examples:
          - EUR
        amount:
          type: string
          pattern: ^-?\d+(\.\d+)?$
          title: Amount
          description: Numerical value or monetary figure associated with a particular transaction, representing balance on an account, a fee or similar. Represented as a decimal number, using . (dot) as a decimal separator. Allowed precision (number of digits after the decimal separator) varies depending on the currency and is validated differently depending on the context.
          examples:
          - '1.23'
      type: object
      required:
      - currency
      - amount
      title: AmountType
    CashAccountType:
      type: string
      enum:
      - CACC
      - CASH
      - CARD
      - LOAN
      - SVGS
      - OTHR
      title: CashAccountType
      example: CACC
      x-enum-descriptions:
      - Account used to post debits and credits when no specific account has been nominated
      - Account used for card payments only
      - Account used for the payment of cash
      - Account used for loans
      - Account not otherwise specified
      - Account used for savings
    AccountIdentification:
      properties:
        iban:
          title: Iban
          description: International Bank Account Number (IBAN) - identification used internationally by financial institutions to uniquely identify the account of a customer. Further specifications of the format and content of the IBAN can be found in the standard ISO 13616 "Banking and related financial services - International Bank Account Number (IBAN)" version 1997-10-01, or later revisions.
          examples:
          - FI8821291587733472
          type: string
        other:
          description: Other identification if iban is not provided
          examples:
          - identification: '123456'
            scheme_name: BBAN
          $ref: '#/components/schemas/GenericIdentification'
      type: object
      title: AccountIdentification
      example:
        iban: FI0455231152453547
    Access:
      properties:
        accounts:
          title: Accounts
          description: 'List of accounts access to which is requested. If not set behaviour depends on the

            bank: some banks allow users to choose list of accessible accounts through their

            access consent UI, while other may provide access to all accounts or just access to

            the list of accounts.'
          examples:
          - - iban: FI1737631867613465
          items:
            $ref: '#/components/schemas/AccountIdentification'
          type: array
        balances:
          type: boolean
          title: Balances
          description: Request consent with balances access
          default: true
        transactions:
          type: boolean
          title: Transactions
          description: Request consent with transactions access
          default: true
        valid_until:
          type: string
          format: date-time
          title: Valid Until
          description: 'This parameter specifies the date and time until which the authorised session

            remains valid. The value must be in the RFC3339 date-time format with a timezone

            offset, e.g. `2025-12-01T12:00:00.000000+00:00`. The provided value cannot exceed

            the date and time, calculated as "now" + `maximum_consent_validity` (provided in

            seconds for each ASPSP in response to the GET /aspsps request). The provided value

            is subject to adjustment to comply with the ASPSP''s requirements. Specifically, if

            the provided value is less than the minimum consent validity allowed by the ASPSP

            (e.g., some ASPSPs require a minimum of 1 hour or 1 day), the consent validity will

            be adjusted to meet these requirements. However, the session validity will remain

            exactly as specified. This means that even if the consent remains valid on the

            ASPSP''s side, the session will expire based on the initially provided value.'
      type: object
      required:
      - valid_until
      title: Access
      example:
        valid_until: '2019-08-24T14:15:22Z'
    PostalAddress:
      properties:
        address_type:
          description: Available address type values
          examples:
          - DeliveryTo
          $ref: '#/components/schemas/AddressType'
        department:
          title: Department
          description: Identification of a division of a large organisation or building.
          examples:
          - Department of resources
          type: string
        sub_department:
          title: Sub Department
          description: Identification of a sub-division of a large organisation or building.
          examples:
          - Sub Department of resources
          type: string
        street_name:
          title: Street Name
          description: Name of a street or thoroughfare.
          examples:
          - Vasavagen
          type: string
        building_number:
          title: Building Number
          description: Number that identifies the position of a building on a street.
          examples:
          - '4'
          type: string
        post_code:
          title: Post Code
          description: 'Identifier consisting of a group of letters and/or numbers that is

            added to a postal address to assist the sorting of mail.'
          examples:
          - '00123'
          type: string
        town_name:
          title: Town Name
          description: Name of a built-up area, with defined boundaries, and a local government.
          examples:
          - Helsinki
          type: string
        country_sub_division:
          title: Country Sub Division
          description: Identifies a subdivision of a country such as state, region, county.
          examples:
          - Uusimaa
          type: string
        country:
          title: Country
          description: Two-letter ISO 3166 code of the country in which a person resides (the place of a person's home). In the case of a company, it is the country from which the affairs of that company are directed.
          examples:
          - FI
          type: string
        address_line:
          title: Address Line
          description: Unstructured address. The two lines must embed zip code and town name
          examples:
          - - Mr Asko Teirila PO Box 511
            - 39140 AKDENMAA FINLAND
          items:
            type: string
          type: array
      type: object
      title: PostalAddress
    ErrorResponse:
      properties:
        message:
          type: string
          title: Message
          description: Error message
          examples:
          - Required PSU header is not provided
        code:
          title: Code
          description: Error code, identical to the http response code
          examples:
          - 422
          type: integer
        error:
          description: Text error code
          examples:
          - PSU_HEADER_NOT_PROVIDED
          $ref: '#/components/schemas/ErrorCode'
        detail:
          title: Detail
          description: Detailed explanation of an error
          examples:
          - PSU header psuIpAddress is not provided
      type: object
      required:
      - message
      title: ErrorResponse
    SessionAccount:
      properties:
        uid:
          type: string
          format: uuid
          title: Uid
          description: Account identificator within the session
        identification_hash:
          type: string
          title: Identification Hash
          description: Global account identification hash
        identification_hashes:
          items:
            type: string
          type: array
          title: Identification Hashes
          description: List of possible account identification hashes. Identification hash is based on the account number. Some accounts may have multiple account numbers (e.g. IBAN and BBAN). This field contains all possible hashes.
      type: object
      required:
      - uid
      - identification_hash
      - identification_hashes
      title: SessionAccount
    FinancialInstitutionIdentification:
      properties:
        bic_fi:
          title: Bic Fi
          description: Code allocated to a financial institution by the ISO 9362 Registration Authority as described in ISO 9362 "Banking - Banking telecommunication messages - Business identification code (BIC)".
          type: string
        clearing_system_member_id:
          description: Information used to identify a member within a clearing system.
          $ref: '#/components/schemas/ClearingSystemMemberIdentification'
        name:
          title: Name
          description: Name of the financial institution
          type: string
      type: object
      title: FinancialInstitutionIdentification
    AuthorizeSessionRequest:
      properties:
        code:
          type: string
          title: Code
          description: Authorization code returned when redirecting PSU
      type: object
      required:
      - code
      title: AuthorizeSessionRequest
    SchemeName:
      type: string
      enum:
      - CHID
      - GS1G
      - DUNS
      - BANK
      - TXID
      - CUST
      - EMPL
      - OTHC
      - DRLC
      - CUSI
      - SOSE
      - ARNU
      - CCPT
      - OTHI
      - COID
      - SREN
      - SRET
      - NIDN
      - OAUT
      - CPAN
      - BBAN
      - IBAN
      - MIBN
      - BGNR
      - PGNR
      title: SchemeName
      example: CHID
      x-enum-descriptions:
      - AlienRegistrationNumber
      - BankPartyIdentification. Unique and unambiguous assignment made by a specific bank or similar financial institution to identify a relationship as defined between the bank and its client.
      - Basic Bank Account Number. Represents a country-specific bank account number.
      - Swedish BankGiro account number. Used in domestic Swedish giro payments
      - PassportNumber
      - Clearing Identification Number
      - CountryIdentificationCode. Country authority given organisation identification (e.g., corporate registration number)
      - Card PAN (masked or plain)
      - CustomerIdentificationNumberIndividual. Handelsbanken-specific code
      - CorporateCustomerNumber
      - DriversLicenseNumber
      - Data Universal Numbering System
      - EmployerIdentificationNumber
      - GS1GLNIdentifier
      - International Bank Account Number (IBAN) - identification used internationally by financial institutions to uniquely identify the account of a customer.
      - Masked IBAN
      - NationalIdentityNumber. Number assigned by an authority to identify the national identity number of a person.
      - OAUTH2 access token that is owned by the PISP being also an AISP and that can be used in order to identify the PSU
      - OtherCorporate. Handelsbanken-specific code
      - OtherIndividual. Handelsbanken-specific code
      - Swedish PlusGiro account number. Used in domestic Swedish giro payments
      - SocialSecurityNumber
      - The SIREN number is a 9 digit code assigned by INSEE, the French National Institute for Statistics and Economic Studies, to identify an organisation in France.
      - The SIRET number is a 14 digit code assigned by INSEE, the French National Institute for Statistics and Economic Studies, to identify an organisation unit in France. It consists of the SIREN number, followed by a five digit classification number, to identify the local geographical unit of that entity.
      - TaxIdentificationNumber
    ClearingSystemMemberIdentification:
      properties:
        clearing_system_id:
          title: Clearing System Id
          description: Specification of a pre-agreed offering between clearing agents or the channel through which the payment instruction is processed.
          examples:
          - NZNCC
          type: string
        member_id:
          title: Member Id
          description: Identification of a member of a clearing system.
          examples:
          - 020368
          type: string
      type: object
      title: ClearingSystemMemberIdentification
    Usage:
      type: string
      enum:
      - PRIV
      - ORGA
      title: Usage
      example: PRIV
      x-enum-descriptions:
      - professional account
      - private personal account
    SuccessResponse:
      properties:
        message:
          type: string
          title: Message
          description: Returns "OK" in case of successful request
          default: OK
      type: object
      title: SuccessResponse
    AuthorizeSessionResponse:
      properties:
        session_id:
          type: string
          format: uuid4
          title: Session Id
          description: ID of the PSU session
        accounts:
          items:
            $ref: '#/components/schemas/AccountResource'
          type: array
          title: Accounts
          description: List of authorized accounts
        aspsp:
          $ref: '#/components/schemas/ASPSP'
          description: ASPSP used with the session
        psu_type:
          $ref: '#/components/schemas/PSUType'
          description: PSU type used with the session
        access:
          $ref: '#/components/schemas/Access'
          description: Scope of access requested from ASPSP and confirmed by PSU
          examples:
          - valid_until: '2021-01-01T00:00:00Z'
      type: object
      required:
      - session_id
      - accounts
      - aspsp
      - psu_type
      - access
      title: AuthorizeSessionResponse
    GetSessionResponse:
      properties:
        status:
          $ref: '#/components/schemas/SessionStatus'
          description: Session status
          examples:
          - AUTHORIZED
        accounts:
          items:
            type: string
            format: uuid
          type: array
          title: Accounts
          description: List of account ids available in the session
        accounts_data:
          items:
            $ref: '#/components/schemas/SessionAccount'
          type: array
          title: Accounts Data
          description: Accounts data stored in the session
        aspsp:
          $ref: '#/components/schemas/ASPSP'
          description: ASPSP used with the session
        psu_type:
          $ref: '#/components/schemas/PSUType'
          description: PSU type used with the session
        psu_id_hash:
          type: string
          title: Psu Id Hash
          description: Hashed unique identification of a PSU used by the client application. In case PSU ID is not passed by the client application, the hash is calculated based on a random value. The hash also inherits the application ID, so different hashes will be calculated when using the same PSU ID with different applications.
        access:
          $ref: '#/components/schemas/Access'
          description: Scope of access requested from ASPSP and confirmed by PSU
          examples:
  

# --- truncated at 32 KB (48 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/enable-banking/refs/heads/main/openapi/enable-banking-user-sessions-api-openapi.yml