Enable Banking User sessions API

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

Operations 4

POST /auth Start user authorization #
POST /sessions Authorize user session #
GET /sessions/{session_id} Get session data #
DELETE /sessions/{session_id} Delete session #

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

Work with this as data

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/enable-banking-user-sessions-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 Specification

enable-banking-user-sessions-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: 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:
    PSUType:
      type: string
      enum:
      - business
      - personal
      title: PSUType
      example: business
      x-enum-descriptions:
      - Business/corporate users
      - 'Private/retail users '
    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
    ErrorCode:
      type: string
      enum:
      - ACCESS_DENIED
      - ACCOUNT_DOES_NOT_EXIST
      - ALREADY_AUTHORIZED
      - ASPSP_ACCOUNT_NOT_ACCESSIBLE
      - ASPSP_ERROR
      - ASPSP_TIMEOUT
      - ASPSP_RATE_LIMIT_EXCEEDED
      - AUTHORIZATION_NOT_PROVIDED
      - CLOSED_SESSION
      - DATE_TO_WITHOUT_DATE_FROM
      - DATE_FROM_IN_FUTURE
      - EXPIRED_AUTHORIZATION_CODE
      - EXPIRED_SESSION
      - INVALID_ACCOUNT_ID
      - INVALID_HOST
      - UNAUTHORIZED_IP
      - NO_ACCOUNTS_ADDED
      - PAYMENT_NOT_FOUND
      - PSU_HEADER_NOT_PROVIDED
      - PSU_HEADER_INVALID
      - REDIRECT_URI_NOT_ALLOWED
      - REVOKED_SESSION
      - SESSION_DOES_NOT_EXIST
      - UNAUTHORIZED_ACCESS
      - UNTRUSTED_PAYMENT_PARTY
      - WEBHOOK_URI_NOT_ALLOWED
      - WRONG_ASPSP_PROVIDED
      - WRONG_AUTHORIZATION_CODE
      - WRONG_DATE_INTERVAL
      - WRONG_CREDENTIALS_PROVIDED
      - WRONG_REQUEST_PARAMETERS
      - WRONG_SESSION_STATUS
      - WRONG_TRANSACTIONS_PERIOD
      - WRONG_CONTINUATION_KEY
      - TRANSACTION_DOES_NOT_EXIST
      - PAYMENT_LIMIT_EXCEEDED
      - ASPSP_PAYMENT_NOT_ACCESSIBLE
      - INVALID_PAYMENT
      - ASPSP_PSU_ACTION_REQUIRED
      - PAYMENT_NOT_FINALIZED
      title: ErrorCode
      example: PSU_HEADER_NOT_PROVIDED
      x-enum-descriptions:
      - Access to this resource is denied. Check services available for your application.
      - No account found matching provided id
      - Session is already authorized
      - The PSU does not have access to the requested account or it doesn't exist
      - Error interacting with ASPSP
      - Payment can not be requested from the ASPSP
      - PSU action is required to proceed
      - ASPSP Rate limit exceeded
      - Timeout interacting with ASPSP
      - Authorization header is not provided
      - Session is closed
      - date_from can not be in the future
      - date_from must be provided if date_to provided
      - Authorization code is expired
      - Session is expired
      - Either iban or other account identification is required
      - Invalid host
      - Invalid or expired payment provided
      - No allowed accounts added to the application
      - The amount value or the the number of transactions exceeds the limit
      - You can not delete a payment that is not finalized or cancelled
      - Payment not found
      - Provided PSU header contains invalid value
      - Required PSU header is not provided
      - Redirect URI not allowed
      - Session is revoked
      - No session found matching provided id
      - No transaction found matching provided id
      - Unauthorized access
      - Used IP address is not authorized to access the resource
      - Either creditor or debtor account is not trusted
      - Webhook URI not allowed
      - Wrong ASPSP name provided
      - Wrong authorization code provided
      - Wrong continuation key provided
      - Wrong credentials provided
      - date_from should be less than or equal date_to
      - Wrong request parameters provided
      - Wrong session status
      - Wrong transactions period requested
    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
    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
    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
    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
    SuccessResponse:
      properties:
        message:
          type: string
          title: Message
          description: Returns "OK" in case of successful request
          default: OK
      type: object
      title: SuccessResponse
    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
    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
    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
    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
    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
    AuthorizeSessionRequest:
      properties:
        code:
          type: string
          title: Code
          description: Authorization code returned when redirecting PSU
      type: object
      required:
      - code
      title: AuthorizeSessionRequest
    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
    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
    StartAuthorizationRequest:
      properties:
        access:
          $ref: '#/components/schemas/Access'
          description: Scope of access to be request from ASPSP and to be confirmed by PSU
          examples:
          - valid_until: '2020-12-01T12:00:00.000000+00:00'
        aspsp:
          $ref: '#/components/schemas/ASPSP'
          description: ASPSP that PSU is going to be authenticated to
          examples:
          - country: FI
            name: Nordea
        state:
          type: string
          title: State
          description: Arbitrary string. Same string will be returned in query parameter when redirecting to the URL passed via redirect_url parameter
          examples:
          - 3a57e2d3-2e0c-4336-af9b-7fa94f0606a3
        redirect_url:
          type: string
          minLength: 1
          format: uri
          title: Redirect Url
          description: URL that PSU will be redirected to after authorization
        psu_type:
          $ref: '#/components/schemas/PSUType'
          description: PSU type which consent is created for
        auth_method:
          title: Auth Method
          description: Desired authorization method (in case ASPSP integration supports multiple). Supported methods can be obtained from the `auth_methods` field available in ASPSP details.
          examples:
          - methodName
          type: string
        credentials:
          title: Credentials
          description: PSU credentials (e.g., user and/or company ID). If not provided through the API, they will be requested from the PSU during authorization. Credentials can be supplied only if `auth_method` is specified; otherwise, a `WRONG_REQUEST_PARAMETERS` error will be returned.
          examples:
          - userId: MyUsername
          type: object
        credentials_autosubmit:
          type: boolean
          title: Credentials Autosubmit
          description: Controls whether user credentials will be autosubmitted (if passed). If set to `false` then credentials form will be prefilled with passed credentials
          default: true
        language:
          title: Language
          description: Preferred PSU language. Two-letter lowercase language code
          examples:
          - fi
          type: string
          pattern: ^[a-z]{2}$
        psu_id:
          title: Psu Id
          description: Unique identification of a PSU used by the client application. It can be used to match sessions of the same user. Although only hashed value is stored, it is recommended to use anonymised identifiers (i.e. digital ID instead of email or social security number). In case the parameter is not passed by the application, random value will be used.
          type: string
      type: object
      required:
      - access
      - aspsp
      - state
      - redirect_url
      title: StartAuthorizationRequest
    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. Represe

# --- 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