Enable Banking API

The Enable Banking API is a single harmonized PSD2 Open Banking API providing Account Information Services (AIS) and Payment Initiation Services (PIS) across 2,700+ banks (ASPSPs) in 30 European countries. The API normalizes user sessions, consent and SCA flows, account details, balances, transactions, and payment initiation behind one REST surface. Authentication uses application-issued JWTs signed with RS256 against an eIDAS-backed certificate registered via the Enable Banking Control Panel. Endpoint groups cover User sessions (/auth, /sessions), Accounts data (/accounts/{account_id}/details, /balances, /transactions), Payments (/payments and /payments/{payment_id}), and Misc (/aspsps, /application).

Enable Banking API is published by Enable Banking on the APIs.io network, described by a machine-readable OpenAPI specification.

This API exposes 5 machine-runnable capabilities that can be deployed as REST, MCP, or Agent Skill surfaces via Naftiko and 4 JSON Schema definitions.

Tagged areas include Open Banking, PSD2, AISP, PISP, and Account Information. The published artifact set on APIs.io includes API documentation, a getting-started guide, an OpenAPI specification, a JSON-LD context, SDKs, pricing, 5 Naftiko capability specs, and 4 JSON Schemas.

Documentation

Specifications

SDKs

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
🔗
NaftikoCapability
https://raw.githubusercontent.com/api-evangelist/enable-banking/refs/heads/main/capabilities/sessions-user-sessions.yaml
🔗
NaftikoCapability
https://raw.githubusercontent.com/api-evangelist/enable-banking/refs/heads/main/capabilities/accounts-accounts-data.yaml
🔗
NaftikoCapability
https://raw.githubusercontent.com/api-evangelist/enable-banking/refs/heads/main/capabilities/payments-payments.yaml
🔗
NaftikoCapability
https://raw.githubusercontent.com/api-evangelist/enable-banking/refs/heads/main/capabilities/aspsps-misc.yaml
🔗
NaftikoCapability
https://raw.githubusercontent.com/api-evangelist/enable-banking/refs/heads/main/capabilities/open-banking.yaml
🔗
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-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: API reference
  version: 1.0.0-3030f99c
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
  /accounts/{account_id}/details:
    get:
      tags:
      - Accounts data
      summary: Get account details
      description: Fetching account details from ASPSP for an account by its ID
      operationId: get_account_accounts__account_id__details_get
      parameters:
      - name: account_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          description: Account ID
          title: Account Id
        description: Account 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/AccountResource'
        '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
  /accounts/{account_id}/balances:
    get:
      tags:
      - Accounts data
      summary: Get account balances
      description: Fetching account balances from ASPSP for an account by its ID
      operationId: get_account_balances_accounts__account_id__balances_get
      parameters:
      - name: account_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          description: PSU account ID accessible in the provided session
          title: Account Id
        description: PSU account ID accessible in the provided session
      - 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/HalBalances'
        '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
  /accounts/{account_id}/transactions:
    get:
      tags:
      - Accounts data
      summary: Get account transactions
      description: Fetching account transactions from ASPSP for an account by its
        ID
      operationId: get_account_transactions_accounts__account_id__transactions_get
      parameters:
      - name: account_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          description: PSU account ID accessible in the provided session
          title: Account Id
        description: PSU account ID accessible in the provided session
      - name: date_from
        in: query
        required: false
        schema:
          type: string
          format: date
        description: Date to fetch transactions from (including the date, UTC timezone
          is assumed)
      - name: date_to
        in: query
        required: false
        schema:
          type: string
          format: date
        description: Date to fetch transactions to (including the date, UTC timezone
          is assumed)
      - name: continuation_key
        in: query
        required: false
        schema:
          type: string
        description: Key, allowing iterate over multiple API pages of transactions
      - name: transaction_status
        in: query
        required: false
        schema:
          $ref: '#/components/schemas/TransactionStatus'
        description: Filter transactions by provided status
      - name: strategy
        in: query
        required: false
        schema:
          $ref: '#/components/schemas/TransactionsFetchStrategy'
          description: Strategy how transaction are fetched
          default: default
        description: Strategy how transaction are fetched
      - 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/HalTransactions'
        '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
  /accounts/{account_id}/transactions/{transaction_id}:
    get:
      tags:
      - Accounts data
      summary: Get transaction details
      description: Fetching transaction details from ASPSP for an account transaction
        by its ID
      operationId: get_transaction_accounts__account_id__transactions__transaction_id__get
      parameters:
      - name: account_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          description: Account ID
          title: Account Id
        description: Account ID
      - name: transaction_id
        in: path
        required: true
        schema:
          type: string
          description: Transaction ID
          title: Transaction Id
        description: Transaction 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/Transaction'
        '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
  /payments:
    post:
      tags:
      - Payments
      summary: Create payment
      description: Creating a payment consisting of one or multiple payment transactions
      operationId: create_payment_payments_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreatePaymentRequest'
              description: Contains data necessary for initiating a payment
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreatePaymentResponse'
        '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'
  /payments/{payment_id}:
    get:
      tags:
      - Payments
      summary: Get payment
      description: Fetching payment status and details
      operationId: get_payment_payments__payment_id__get
      parameters:
      - name: payment_id
        in: path
        required: true
        schema:
          type: string
          description: Payment ID
          title: Payment Id
        description: Payment ID
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPaymentResponse'
        '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'
          des

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