arazzo: 1.0.1 info: title: Tink Account Check Verification And Report Retrieval summary: Create a Tink Link session pre-loaded with identity, then retrieve the resulting Account Check report as JSON and PDF. description: >- The Tink Account Check flow. It creates a Tink Link session seeded with the customer's identity (name, date of birth, address) so the verification can be matched against the supplied person, then — after the customer authenticates — retrieves the completed Account Check report as a JSON document and as a PDF rendered from a report template for compliance archives. 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: accountCheckApi url: ../openapi/tink-account-check-api-openapi.yml type: openapi workflows: - workflowId: account-verification-report summary: Create a Tink Link session, then fetch the Account Check report as JSON and PDF. description: >- Seeds a Tink Link session with the customer identity, then retrieves the completed Account Check report in JSON form for programmatic use and PDF form for archives. inputs: type: object required: - accessToken - market - locale - reportId properties: accessToken: type: string description: An access token authorized for Account Check. market: type: string description: ISO 3166-1 alpha-2 market code (e.g. GB). locale: type: string description: The session locale (e.g. en_US). userName: type: string description: The customer name to match against the verified account holder. userDateOfBirth: type: string description: The customer date of birth (YYYY-MM-DD) used for identity matching. reportId: type: string description: The id of the completed Account Check report to retrieve. pdfTemplate: type: string description: Optional report template name for the PDF rendering (e.g. standard-1.0). steps: - stepId: createLinkSession description: >- Create a Tink Link session pre-loaded with the customer identity so the Account Check report can be matched against the supplied person. operationId: createLinkSession parameters: - name: Authorization in: header value: "Bearer $inputs.accessToken" requestBody: contentType: application/json payload: market: $inputs.market locale: $inputs.locale user: name: $inputs.userName dateOfBirth: $inputs.userDateOfBirth successCriteria: - condition: $statusCode == 200 outputs: sessionId: $response.body#/sessionId linkUrl: $response.body#/url - stepId: getReport description: >- Retrieve the completed Account Check report as JSON, including verified accounts, identities, and the user-match result. operationId: getAccountVerificationReport parameters: - name: Authorization in: header value: "Bearer $inputs.accessToken" - name: report_id in: path value: $inputs.reportId successCriteria: - condition: $statusCode == 200 outputs: reportId: $response.body#/id accounts: $response.body#/accounts userMatch: $response.body#/userMatch - stepId: getReportPdf description: Retrieve the same Account Check report rendered as a PDF for archives. operationId: getAccountVerificationReportPdf parameters: - name: Authorization in: header value: "Bearer $inputs.accessToken" - name: report_id in: path value: $inputs.reportId - name: template in: query value: $inputs.pdfTemplate successCriteria: - condition: $statusCode == 200 outputs: linkUrl: $steps.createLinkSession.outputs.linkUrl accounts: $steps.getReport.outputs.accounts userMatch: $steps.getReport.outputs.userMatch