Fintecture · Arazzo Workflow

Fintecture Account Holders and Identity Verification

Version 1.0.0

List a connection's accounts, read the first account's holders, then run an AIS identity verification.

1 workflow 1 source API 1 provider
View Spec View on GitHub Open BankingPaymentsPSD2FranceAccount InformationPayment InitiationInstant PaymentsSEPASmart TransferRequest To PayBuy Now Pay LaterE-MandatesAccount-to-AccountKYCArazzoWorkflows

Provider

fintecture

Workflows

account-holders-identity
Enumerate accounts, read holders, and verify identity via AIS.
Lists accounts on a connection, retrieves the first account's holders, and runs an AIS identity verification keyed on the expected holder name.
3 steps inputs: accessToken, customerId, expectedName, providerId outputs: holders, verificationId, verificationStatus
1
listAccounts
getAisV1CustomerAccounts
List all accounts linked to the connection.
2
getHolders
getAisV1CustomerAccountHolders
Retrieve the beneficiary owner details for the first account.
3
verifyIdentity
createAisV1Verification
Run an AIS identity verification matching the connection against the expected name.

Source API Descriptions

Arazzo Workflow Specification

fintecture-account-holders-identity-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Fintecture Account Holders and Identity Verification
  summary: List a connection's accounts, read the first account's holders, then run an AIS identity verification.
  description: >-
    An AIS-backed KYC flow. It lists the accounts on an existing connection,
    reads the beneficiary owner (holder) details for the first account, and then
    runs an AIS identity verification against the provider to confirm the holder
    matches an expected name. Every step spells out its request inline so the
    flow can be read and executed without opening the underlying OpenAPI
    description.
  version: 1.0.0
sourceDescriptions:
- name: aisApi
  url: ../openapi/fintecture-ais-api-openapi.yml
  type: openapi
workflows:
- workflowId: account-holders-identity
  summary: Enumerate accounts, read holders, and verify identity via AIS.
  description: >-
    Lists accounts on a connection, retrieves the first account's holders, and
    runs an AIS identity verification keyed on the expected holder name.
  inputs:
    type: object
    required:
    - accessToken
    - customerId
    - providerId
    - expectedName
    properties:
      accessToken:
        type: string
        description: A valid AIS-scoped bearer access token.
      customerId:
        type: string
        description: The connection (customer) identifier to inspect.
      providerId:
        type: string
        description: Identifier of the bank provider backing the verification.
      expectedName:
        type: string
        description: The name the verification should match against the account holder.
  steps:
  - stepId: listAccounts
    description: List all accounts linked to the connection.
    operationId: getAisV1CustomerAccounts
    parameters:
    - name: Authorization
      in: header
      value: "Bearer $inputs.accessToken"
    - name: customer_id
      in: path
      value: $inputs.customerId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      firstAccountId: $response.body#/data/0/id
  - stepId: getHolders
    description: Retrieve the beneficiary owner details for the first account.
    operationId: getAisV1CustomerAccountHolders
    parameters:
    - name: Authorization
      in: header
      value: "Bearer $inputs.accessToken"
    - name: customer_id
      in: path
      value: $inputs.customerId
    - name: account_id
      in: path
      value: $steps.listAccounts.outputs.firstAccountId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      holders: $response.body#/data
      holderName: $response.body#/data/0/name
  - stepId: verifyIdentity
    description: Run an AIS identity verification matching the connection against the expected name.
    operationId: createAisV1Verification
    parameters:
    - name: Authorization
      in: header
      value: "Bearer $inputs.accessToken"
    requestBody:
      contentType: application/json
      payload:
        meta:
          customer_id: $inputs.customerId
        data:
          attributes:
            provider_id: $inputs.providerId
            expected_name: $inputs.expectedName
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      verificationId: $response.body#/id
      verificationStatus: $response.body#/status
      matchScore: $response.body#/match_score
  outputs:
    holders: $steps.getHolders.outputs.holders
    verificationId: $steps.verifyIdentity.outputs.verificationId
    verificationStatus: $steps.verifyIdentity.outputs.verificationStatus