openapi: 3.1.0 info: title: Tink Account Check API description: > Tink Account Check verifies that a bank account belongs to the person or business presenting it. After a customer authenticates via Tink Link the Account Check report exposes verified account ownership, identity, IBAN or sort-code/account number, account type, balance, and holder match status. The report can be retrieved as JSON for programmatic use or as a PDF for compliance archives. version: '1.0' contact: name: Tink Developer Support url: https://docs.tink.com/resources/account-check servers: - url: https://api.tink.com description: Tink EU Production - url: https://api.us.tink.com description: Tink US Production security: - BearerAuth: [] tags: - name: AccountVerificationReports description: Account ownership verification reports. - name: BusinessAccountVerificationReports description: Business account ownership verification reports. paths: /api/v1/account-verification-reports/{report_id}: get: summary: Tink Get An Account Verification Report description: > Retrieve a completed Account Check report as a JSON document. Includes verified account, identity, party, balance, and risk-signal sections for every account the user shared. operationId: getAccountVerificationReport tags: - AccountVerificationReports parameters: - $ref: '#/components/parameters/ReportIdParam' responses: '200': description: Verification report returned. content: application/json: schema: $ref: '#/components/schemas/AccountVerificationReport' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/v1/account-verification-reports/{report_id}/pdf: get: summary: Tink Get An Account Verification Report As PDF description: > Retrieve a completed Account Check report rendered as a PDF using the specified report template. Useful for compliance, KYC, and underwriting archives. operationId: getAccountVerificationReportPdf tags: - AccountVerificationReports parameters: - $ref: '#/components/parameters/ReportIdParam' - in: query name: template required: false schema: type: string example: standard-1.0 responses: '200': description: PDF report returned. content: application/pdf: schema: type: string format: binary '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /data/v1/business-account-verification-reports/{report_id}: get: summary: Tink Get A Business Account Verification Report description: > Retrieve a completed Business Account Check report verifying that a commercial bank account is owned by the business identified during the Tink Link session. operationId: getBusinessAccountVerificationReport tags: - BusinessAccountVerificationReports parameters: - $ref: '#/components/parameters/ReportIdParam' responses: '200': description: Business verification report returned. content: application/json: schema: $ref: '#/components/schemas/BusinessAccountVerificationReport' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /link/v1/session: post: summary: Tink Create A Tink Link Session description: > Create a Tink Link session pre-loaded with user information so the Account Check report can be matched against the supplied identity (name, date of birth, address). Returns the hosted Tink Link URL. operationId: createLinkSession tags: - AccountVerificationReports requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateLinkSessionRequest' responses: '200': description: Tink Link session created. content: application/json: schema: $ref: '#/components/schemas/LinkSessionResponse' '400': $ref: '#/components/responses/BadRequest' components: securitySchemes: BearerAuth: type: http scheme: bearer parameters: ReportIdParam: in: path name: report_id required: true schema: type: string schemas: AccountVerificationReport: type: object properties: id: type: string market: type: string locale: type: string timestamp: type: string format: date-time accounts: type: array items: $ref: '#/components/schemas/VerifiedAccount' identities: type: array items: $ref: '#/components/schemas/Identity' userMatch: $ref: '#/components/schemas/UserMatch' BusinessAccountVerificationReport: type: object properties: id: type: string market: type: string timestamp: type: string format: date-time business: $ref: '#/components/schemas/Business' accounts: type: array items: $ref: '#/components/schemas/VerifiedAccount' VerifiedAccount: type: object properties: id: type: string name: type: string type: type: string enum: [CHECKING, SAVINGS, CREDIT_CARD, LOAN, INVESTMENT, OTHER] balance: $ref: '#/components/schemas/Money' identifiers: type: object properties: iban: type: string sortCodeAccountNumber: type: object properties: sortCode: type: string accountNumber: type: string bban: type: string holderName: type: string currency: type: string Identity: type: object properties: name: type: string dateOfBirth: type: string format: date emails: type: array items: type: string addresses: type: array items: $ref: '#/components/schemas/Address' Business: type: object properties: name: type: string registrationNumber: type: string country: type: string address: $ref: '#/components/schemas/Address' Address: type: object properties: country: type: string city: type: string postalCode: type: string addressLine: type: string Money: type: object properties: amount: type: string currencyCode: type: string UserMatch: type: object properties: matchedName: type: boolean matchedDateOfBirth: type: boolean matchedAddress: type: boolean matchScore: type: number CreateLinkSessionRequest: type: object properties: market: type: string locale: type: string user: type: object properties: name: type: string dateOfBirth: type: string format: date ssn: type: string address: $ref: '#/components/schemas/Address' LinkSessionResponse: type: object properties: sessionId: type: string url: type: string format: uri Error: type: object properties: errorMessage: type: string errorCode: type: string responses: BadRequest: description: Invalid request. content: application/json: schema: $ref: '#/components/schemas/Error' Unauthorized: description: Missing or invalid bearer token. content: application/json: schema: $ref: '#/components/schemas/Error' NotFound: description: Report not found. content: application/json: schema: $ref: '#/components/schemas/Error'