Fintecture OAuth and Tokens API

Issues access tokens via authorization_code and client_credentials grants. Distinct scopes for PIS, AIS, Customers, E-Mandates, and OAC (Organisation Access Credentials, beta). Access tokens are valid for 1 hour and can be refreshed.

OpenAPI Specification

fintecture-oauth-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Fintecture Account Information Services Accounts OAuth API
  description: 'PSD2 Account Information Services. Authenticates a PSU at their bank using either the redirect or decoupled (mobile-app) model, then retrieves bank accounts, balances, holders, and transactions. Also exposes the AIS-backed identity verification endpoint.

    '
  version: v2
  contact:
    name: Fintecture Support
    url: https://fintecture.com/contact
servers:
- url: https://api.fintecture.com
  description: Production
- url: https://api-sandbox.fintecture.com
  description: Sandbox
security:
- BearerAuth: []
tags:
- name: OAuth
  description: Access and refresh tokens
paths:
  /oauth/accesstoken:
    post:
      summary: Create Access Token
      description: 'The access token endpoint enables the TPP to authenticate to the Fintecture Authentication Server. Two grant types are supported — `authorization_code` for AIS, and `client_credentials` for PIS, Customers, E-Mandates, and the beta OAC (Organisation Access Credentials) scopes.

        '
      operationId: createAccessToken
      tags:
      - OAuth
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              required:
              - grant_type
              properties:
                grant_type:
                  type: string
                  enum:
                  - authorization_code
                  - client_credentials
                code:
                  type: string
                redirect_uri:
                  type: string
                  format: uri
                scope:
                  type: string
                  description: One of PIS, AIS, customer, e-mandate, OAC.
                client_id:
                  type: string
                client_secret:
                  type: string
      responses:
        '200':
          description: Token issued
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessToken'
  /oauth/refreshtoken:
    post:
      summary: Create Refresh Token
      description: Generates a new access_token and invalidates the previous one.
      operationId: createRefreshToken
      tags:
      - OAuth
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              required:
              - grant_type
              - refresh_token
              properties:
                grant_type:
                  type: string
                  enum:
                  - refresh_token
                refresh_token:
                  type: string
                client_id:
                  type: string
                client_secret:
                  type: string
      responses:
        '200':
          description: New token issued
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessToken'
components:
  schemas:
    AccessToken:
      type: object
      properties:
        access_token:
          type: string
        token_type:
          type: string
          enum:
          - Bearer
        expires_in:
          type: integer
          description: Lifetime in seconds (3600 by default).
        refresh_token:
          type: string
        scope:
          type: string
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT