openapi: 3.0.0 info: contact: email: contact@yousign.com name: Support url: https://yousign.com/contact description: Build the best experience of digital signature through your own platform. Increase your conversion rates, leverage your data and reduce your costs with Yousign API. license: name: proprietary url: https://yousign.com/terms title: Public Api v3 Applicant Bank Account Lookup Verification API version: '3.0' servers: - description: Sandbox URL url: https://api-sandbox.yousign.app/v3 - description: Production URL url: https://api.yousign.app/v3 security: - bearerAuth: [] tags: - description: KYC Process of verifying a person’s or company’s banking information via the Sepamail DIAMOND network. name: Bank Account Lookup Verification paths: /verifications/bank_account_lookups: get: description: 'Returns the list of all Bank Account Lookup Verifications within your organization. You can limit the number of items returned by using filters and pagination. Consult our [guide](https://developers.yousign.com/docs/bank-account-lookup-verification) for more details and examples. ' operationId: get-verifications-bank_account_lookups parameters: - description: After cursor (pagination) in: query name: after required: false schema: minLength: 1 type: string - description: The limit of items count to retrieve. in: query name: limit required: false schema: default: 100 maximum: 100 minimum: 1 type: integer - description: 'Filter by `status`. Allowed operators: `eq`. Example: `status[eq]=verified` ' example: eq: - verified explode: true in: query name: status required: false schema: description: Filter by status. minProperties: 1 type: object style: deepObject - description: 'Filter by `workspace_id`. Allowed operators: `eq`. Example: `workspace_id[eq]=9b6ed2f3-244f-487a-baa1-bbe4f51c8748` ' example: eq: - 9b6ed2f3-244f-487a-baa1-bbe4f51c8748 explode: true in: query name: workspace_id required: false schema: description: Filter by workspace_id. minProperties: 1 type: object style: deepObject responses: '200': content: application/json: schema: $ref: '#/components/schemas/get_verifications_bank_account_lookups_200_response' description: OK headers: RateLimit-Limit: $ref: '#/components/headers/rateLimit-limit' X-RateLimit-Limit-Hour: $ref: '#/components/headers/rateLimit-limit-hour' X-RateLimit-Limit-Minute: $ref: '#/components/headers/rateLimit-limit-minute' RateLimit-Remaining: $ref: '#/components/headers/rateLimit-remaining' X-RateLimit-Remaining-Hour: $ref: '#/components/headers/rateLimit-remaining-hour' X-RateLimit-Remaining-Minute: $ref: '#/components/headers/rateLimit-remaining-minute' RateLimit-Reset: $ref: '#/components/headers/rateLimit-reset' '400': content: application/json: schema: $ref: '#/components/schemas/BadRequestResponse' description: Bad request headers: RateLimit-Limit: $ref: '#/components/headers/rateLimit-limit' X-RateLimit-Limit-Hour: $ref: '#/components/headers/rateLimit-limit-hour' X-RateLimit-Limit-Minute: $ref: '#/components/headers/rateLimit-limit-minute' RateLimit-Remaining: $ref: '#/components/headers/rateLimit-remaining' X-RateLimit-Remaining-Hour: $ref: '#/components/headers/rateLimit-remaining-hour' X-RateLimit-Remaining-Minute: $ref: '#/components/headers/rateLimit-remaining-minute' RateLimit-Reset: $ref: '#/components/headers/rateLimit-reset' '401': content: application/json: schema: $ref: '#/components/schemas/UnauthorizedResponse' description: Access unauthorized headers: RateLimit-Limit: $ref: '#/components/headers/rateLimit-limit' X-RateLimit-Limit-Hour: $ref: '#/components/headers/rateLimit-limit-hour' X-RateLimit-Limit-Minute: $ref: '#/components/headers/rateLimit-limit-minute' RateLimit-Remaining: $ref: '#/components/headers/rateLimit-remaining' X-RateLimit-Remaining-Hour: $ref: '#/components/headers/rateLimit-remaining-hour' X-RateLimit-Remaining-Minute: $ref: '#/components/headers/rateLimit-remaining-minute' RateLimit-Reset: $ref: '#/components/headers/rateLimit-reset' '403': content: application/json: schema: $ref: '#/components/schemas/ForbiddenResponse' description: Access forbidden headers: RateLimit-Limit: $ref: '#/components/headers/rateLimit-limit' X-RateLimit-Limit-Hour: $ref: '#/components/headers/rateLimit-limit-hour' X-RateLimit-Limit-Minute: $ref: '#/components/headers/rateLimit-limit-minute' RateLimit-Remaining: $ref: '#/components/headers/rateLimit-remaining' X-RateLimit-Remaining-Hour: $ref: '#/components/headers/rateLimit-remaining-hour' X-RateLimit-Remaining-Minute: $ref: '#/components/headers/rateLimit-remaining-minute' RateLimit-Reset: $ref: '#/components/headers/rateLimit-reset' '405': content: application/json: schema: $ref: '#/components/schemas/MethodNotAllowed' description: This method is not allowed headers: RateLimit-Limit: $ref: '#/components/headers/rateLimit-limit' X-RateLimit-Limit-Hour: $ref: '#/components/headers/rateLimit-limit-hour' X-RateLimit-Limit-Minute: $ref: '#/components/headers/rateLimit-limit-minute' RateLimit-Remaining: $ref: '#/components/headers/rateLimit-remaining' X-RateLimit-Remaining-Hour: $ref: '#/components/headers/rateLimit-remaining-hour' X-RateLimit-Remaining-Minute: $ref: '#/components/headers/rateLimit-remaining-minute' RateLimit-Reset: $ref: '#/components/headers/rateLimit-reset' Retry-After: $ref: '#/components/headers/retry-after' '429': content: application/json: schema: $ref: '#/components/schemas/TooManyRequestsResponse' description: Too Many Requests, please try again later. headers: RateLimit-Limit: $ref: '#/components/headers/rateLimit-limit' X-RateLimit-Limit-Hour: $ref: '#/components/headers/rateLimit-limit-hour' X-RateLimit-Limit-Minute: $ref: '#/components/headers/rateLimit-limit-minute' RateLimit-Remaining: $ref: '#/components/headers/rateLimit-remaining' X-RateLimit-Remaining-Hour: $ref: '#/components/headers/rateLimit-remaining-hour' X-RateLimit-Remaining-Minute: $ref: '#/components/headers/rateLimit-remaining-minute' RateLimit-Reset: $ref: '#/components/headers/rateLimit-reset' Retry-After: $ref: '#/components/headers/retry-after' '500': content: application/json: schema: $ref: '#/components/schemas/InternalServerError' description: Internal Server Error headers: RateLimit-Limit: $ref: '#/components/headers/rateLimit-limit' X-RateLimit-Limit-Hour: $ref: '#/components/headers/rateLimit-limit-hour' X-RateLimit-Limit-Minute: $ref: '#/components/headers/rateLimit-limit-minute' RateLimit-Remaining: $ref: '#/components/headers/rateLimit-remaining' X-RateLimit-Remaining-Hour: $ref: '#/components/headers/rateLimit-remaining-hour' X-RateLimit-Remaining-Minute: $ref: '#/components/headers/rateLimit-remaining-minute' RateLimit-Reset: $ref: '#/components/headers/rateLimit-reset' summary: List Bank Account Lookup Verifications tags: - Bank Account Lookup Verification post: description: 'Initiate a new Bank Account Lookup Verification to check if a bank account exists and belongs to the specified person or company. Related guide: [Bank Account Verification](https://developers.yousign.com/docs/bank-account-lookup-verification) **ℹ️ This endpoint accepts two request body formats — pick the one that matches your use case:** - 📝 `application/json` — provide the natural person''s bank account details directly, or reference an existing Workflow Session Applicant by ID. - 📁 `multipart/form-data` — upload a binary file containing the natural person''s bank account details. **🔓 Endpoint access** - Environments: `production`, `sandbox` - API key scopes: `organization`, `workspace` - Plans: `pro`, `scale` - Add-ons (for production access): `Verify - Bank account verification` ' operationId: post-verifications-bank_account_lookups requestBody: content: application/json: schema: $ref: '#/components/schemas/post_verifications_bank_account_lookups_request' multipart/form-data: schema: $ref: '#/components/schemas/InitiateBankAccountLookupWithNaturalPersonFromFile' responses: '201': content: application/json: examples: pending: $ref: '#/components/examples/BankAccountLookupExample' schema: $ref: '#/components/schemas/BankAccountLookupFull' description: Created headers: RateLimit-Limit: $ref: '#/components/headers/rateLimit-limit' X-RateLimit-Limit-Hour: $ref: '#/components/headers/rateLimit-limit-hour' X-RateLimit-Limit-Minute: $ref: '#/components/headers/rateLimit-limit-minute' RateLimit-Remaining: $ref: '#/components/headers/rateLimit-remaining' X-RateLimit-Remaining-Hour: $ref: '#/components/headers/rateLimit-remaining-hour' X-RateLimit-Remaining-Minute: $ref: '#/components/headers/rateLimit-remaining-minute' RateLimit-Reset: $ref: '#/components/headers/rateLimit-reset' '400': content: application/json: schema: $ref: '#/components/schemas/BadRequestResponse' description: Bad request headers: RateLimit-Limit: $ref: '#/components/headers/rateLimit-limit' X-RateLimit-Limit-Hour: $ref: '#/components/headers/rateLimit-limit-hour' X-RateLimit-Limit-Minute: $ref: '#/components/headers/rateLimit-limit-minute' RateLimit-Remaining: $ref: '#/components/headers/rateLimit-remaining' X-RateLimit-Remaining-Hour: $ref: '#/components/headers/rateLimit-remaining-hour' X-RateLimit-Remaining-Minute: $ref: '#/components/headers/rateLimit-remaining-minute' RateLimit-Reset: $ref: '#/components/headers/rateLimit-reset' '401': content: application/json: schema: $ref: '#/components/schemas/UnauthorizedResponse' description: Access unauthorized headers: RateLimit-Limit: $ref: '#/components/headers/rateLimit-limit' X-RateLimit-Limit-Hour: $ref: '#/components/headers/rateLimit-limit-hour' X-RateLimit-Limit-Minute: $ref: '#/components/headers/rateLimit-limit-minute' RateLimit-Remaining: $ref: '#/components/headers/rateLimit-remaining' X-RateLimit-Remaining-Hour: $ref: '#/components/headers/rateLimit-remaining-hour' X-RateLimit-Remaining-Minute: $ref: '#/components/headers/rateLimit-remaining-minute' RateLimit-Reset: $ref: '#/components/headers/rateLimit-reset' '403': content: application/json: schema: $ref: '#/components/schemas/ForbiddenResponse' description: Access forbidden headers: RateLimit-Limit: $ref: '#/components/headers/rateLimit-limit' X-RateLimit-Limit-Hour: $ref: '#/components/headers/rateLimit-limit-hour' X-RateLimit-Limit-Minute: $ref: '#/components/headers/rateLimit-limit-minute' RateLimit-Remaining: $ref: '#/components/headers/rateLimit-remaining' X-RateLimit-Remaining-Hour: $ref: '#/components/headers/rateLimit-remaining-hour' X-RateLimit-Remaining-Minute: $ref: '#/components/headers/rateLimit-remaining-minute' RateLimit-Reset: $ref: '#/components/headers/rateLimit-reset' '405': content: application/json: schema: $ref: '#/components/schemas/MethodNotAllowed' description: This method is not allowed headers: RateLimit-Limit: $ref: '#/components/headers/rateLimit-limit' X-RateLimit-Limit-Hour: $ref: '#/components/headers/rateLimit-limit-hour' X-RateLimit-Limit-Minute: $ref: '#/components/headers/rateLimit-limit-minute' RateLimit-Remaining: $ref: '#/components/headers/rateLimit-remaining' X-RateLimit-Remaining-Hour: $ref: '#/components/headers/rateLimit-remaining-hour' X-RateLimit-Remaining-Minute: $ref: '#/components/headers/rateLimit-remaining-minute' RateLimit-Reset: $ref: '#/components/headers/rateLimit-reset' Retry-After: $ref: '#/components/headers/retry-after' '415': content: application/json: schema: $ref: '#/components/schemas/UnsupportedMediaTypeResponse' description: UnsupportedMediaType headers: RateLimit-Limit: $ref: '#/components/headers/rateLimit-limit' X-RateLimit-Limit-Hour: $ref: '#/components/headers/rateLimit-limit-hour' X-RateLimit-Limit-Minute: $ref: '#/components/headers/rateLimit-limit-minute' RateLimit-Remaining: $ref: '#/components/headers/rateLimit-remaining' X-RateLimit-Remaining-Hour: $ref: '#/components/headers/rateLimit-remaining-hour' X-RateLimit-Remaining-Minute: $ref: '#/components/headers/rateLimit-remaining-minute' RateLimit-Reset: $ref: '#/components/headers/rateLimit-reset' '429': content: application/json: schema: $ref: '#/components/schemas/TooManyRequestsResponse' description: Too Many Requests, please try again later. headers: RateLimit-Limit: $ref: '#/components/headers/rateLimit-limit' X-RateLimit-Limit-Hour: $ref: '#/components/headers/rateLimit-limit-hour' X-RateLimit-Limit-Minute: $ref: '#/components/headers/rateLimit-limit-minute' RateLimit-Remaining: $ref: '#/components/headers/rateLimit-remaining' X-RateLimit-Remaining-Hour: $ref: '#/components/headers/rateLimit-remaining-hour' X-RateLimit-Remaining-Minute: $ref: '#/components/headers/rateLimit-remaining-minute' RateLimit-Reset: $ref: '#/components/headers/rateLimit-reset' Retry-After: $ref: '#/components/headers/retry-after' '500': content: application/json: schema: $ref: '#/components/schemas/InternalServerError' description: Internal Server Error headers: RateLimit-Limit: $ref: '#/components/headers/rateLimit-limit' X-RateLimit-Limit-Hour: $ref: '#/components/headers/rateLimit-limit-hour' X-RateLimit-Limit-Minute: $ref: '#/components/headers/rateLimit-limit-minute' RateLimit-Remaining: $ref: '#/components/headers/rateLimit-remaining' X-RateLimit-Remaining-Hour: $ref: '#/components/headers/rateLimit-remaining-hour' X-RateLimit-Remaining-Minute: $ref: '#/components/headers/rateLimit-remaining-minute' RateLimit-Reset: $ref: '#/components/headers/rateLimit-reset' summary: Initiate a new Bank Account Lookup Verification tags: - Bank Account Lookup Verification /verifications/bank_account_lookups/{bankAccountLookupVerificationId}: get: description: 'Retrieve a specific Bank Account Lookup Verification by its ID. ' operationId: get-verifications-bank_account_lookups-id parameters: - description: Bank Account Lookup Verification Id in: path name: bankAccountLookupVerificationId required: true schema: $ref: '#/components/schemas/UUID' responses: '200': content: application/json: examples: verified: summary: Verified result - bank account exists and belongs to the specified person value: id: 9a93d3b5-fb3b-4abf-9e70-26315b33506c workspace_id: 9a93d3b5-fb3b-4abf-9e70-26315b33506c workflow_session_id: 0ef334d2-7f36-4643-8a2a-4283b4a3e4a4 previous_attempt_id: 9412b83b-b4b9-4a94-97b5-2b43dfa4cde4 created_at: '2025-07-23T18:22:00+00:00' updated_at: '2025-07-23T18:23:00+00:00' status: verified status_codes: [] data_anonymized: false applicant_id: null data: extracted_from_document: null failed: summary: Failed result - bank account exists but doesn't belong to the specified person value: id: 9a93d3b5-fb3b-4abf-9e70-26315b33506c workspace_id: 9a93d3b5-fb3b-4abf-9e70-26315b33506c workflow_session_id: 0ef334d2-7f36-4643-8a2a-4283b4a3e4a4 previous_attempt_id: 9412b83b-b4b9-4a94-97b5-2b43dfa4cde4 created_at: '2025-07-23T18:22:00+00:00' updated_at: '2025-07-23T18:23:00+00:00' status: failed status_codes: - BALV_1101 data_anonymized: false applicant_id: null data: extracted_from_document: null schema: $ref: '#/components/schemas/BankAccountLookupFull' description: OK headers: RateLimit-Limit: $ref: '#/components/headers/rateLimit-limit' X-RateLimit-Limit-Hour: $ref: '#/components/headers/rateLimit-limit-hour' X-RateLimit-Limit-Minute: $ref: '#/components/headers/rateLimit-limit-minute' RateLimit-Remaining: $ref: '#/components/headers/rateLimit-remaining' X-RateLimit-Remaining-Hour: $ref: '#/components/headers/rateLimit-remaining-hour' X-RateLimit-Remaining-Minute: $ref: '#/components/headers/rateLimit-remaining-minute' RateLimit-Reset: $ref: '#/components/headers/rateLimit-reset' '400': content: application/json: schema: $ref: '#/components/schemas/BadRequestResponse' description: Bad request headers: RateLimit-Limit: $ref: '#/components/headers/rateLimit-limit' X-RateLimit-Limit-Hour: $ref: '#/components/headers/rateLimit-limit-hour' X-RateLimit-Limit-Minute: $ref: '#/components/headers/rateLimit-limit-minute' RateLimit-Remaining: $ref: '#/components/headers/rateLimit-remaining' X-RateLimit-Remaining-Hour: $ref: '#/components/headers/rateLimit-remaining-hour' X-RateLimit-Remaining-Minute: $ref: '#/components/headers/rateLimit-remaining-minute' RateLimit-Reset: $ref: '#/components/headers/rateLimit-reset' '401': content: application/json: schema: $ref: '#/components/schemas/UnauthorizedResponse' description: Access unauthorized headers: RateLimit-Limit: $ref: '#/components/headers/rateLimit-limit' X-RateLimit-Limit-Hour: $ref: '#/components/headers/rateLimit-limit-hour' X-RateLimit-Limit-Minute: $ref: '#/components/headers/rateLimit-limit-minute' RateLimit-Remaining: $ref: '#/components/headers/rateLimit-remaining' X-RateLimit-Remaining-Hour: $ref: '#/components/headers/rateLimit-remaining-hour' X-RateLimit-Remaining-Minute: $ref: '#/components/headers/rateLimit-remaining-minute' RateLimit-Reset: $ref: '#/components/headers/rateLimit-reset' '403': content: application/json: schema: $ref: '#/components/schemas/ForbiddenResponse' description: Access forbidden headers: RateLimit-Limit: $ref: '#/components/headers/rateLimit-limit' X-RateLimit-Limit-Hour: $ref: '#/components/headers/rateLimit-limit-hour' X-RateLimit-Limit-Minute: $ref: '#/components/headers/rateLimit-limit-minute' RateLimit-Remaining: $ref: '#/components/headers/rateLimit-remaining' X-RateLimit-Remaining-Hour: $ref: '#/components/headers/rateLimit-remaining-hour' X-RateLimit-Remaining-Minute: $ref: '#/components/headers/rateLimit-remaining-minute' RateLimit-Reset: $ref: '#/components/headers/rateLimit-reset' '404': content: application/json: schema: $ref: '#/components/schemas/NotFoundResponse' description: Resource not found headers: RateLimit-Limit: $ref: '#/components/headers/rateLimit-limit' X-RateLimit-Limit-Hour: $ref: '#/components/headers/rateLimit-limit-hour' X-RateLimit-Limit-Minute: $ref: '#/components/headers/rateLimit-limit-minute' RateLimit-Remaining: $ref: '#/components/headers/rateLimit-remaining' X-RateLimit-Remaining-Hour: $ref: '#/components/headers/rateLimit-remaining-hour' X-RateLimit-Remaining-Minute: $ref: '#/components/headers/rateLimit-remaining-minute' RateLimit-Reset: $ref: '#/components/headers/rateLimit-reset' '405': content: application/json: schema: $ref: '#/components/schemas/MethodNotAllowed' description: This method is not allowed headers: RateLimit-Limit: $ref: '#/components/headers/rateLimit-limit' X-RateLimit-Limit-Hour: $ref: '#/components/headers/rateLimit-limit-hour' X-RateLimit-Limit-Minute: $ref: '#/components/headers/rateLimit-limit-minute' RateLimit-Remaining: $ref: '#/components/headers/rateLimit-remaining' X-RateLimit-Remaining-Hour: $ref: '#/components/headers/rateLimit-remaining-hour' X-RateLimit-Remaining-Minute: $ref: '#/components/headers/rateLimit-remaining-minute' RateLimit-Reset: $ref: '#/components/headers/rateLimit-reset' Retry-After: $ref: '#/components/headers/retry-after' '429': content: application/json: schema: $ref: '#/components/schemas/TooManyRequestsResponse' description: Too Many Requests, please try again later. headers: RateLimit-Limit: $ref: '#/components/headers/rateLimit-limit' X-RateLimit-Limit-Hour: $ref: '#/components/headers/rateLimit-limit-hour' X-RateLimit-Limit-Minute: $ref: '#/components/headers/rateLimit-limit-minute' RateLimit-Remaining: $ref: '#/components/headers/rateLimit-remaining' X-RateLimit-Remaining-Hour: $ref: '#/components/headers/rateLimit-remaining-hour' X-RateLimit-Remaining-Minute: $ref: '#/components/headers/rateLimit-remaining-minute' RateLimit-Reset: $ref: '#/components/headers/rateLimit-reset' Retry-After: $ref: '#/components/headers/retry-after' '500': content: application/json: schema: $ref: '#/components/schemas/InternalServerError' description: Internal Server Error headers: RateLimit-Limit: $ref: '#/components/headers/rateLimit-limit' X-RateLimit-Limit-Hour: $ref: '#/components/headers/rateLimit-limit-hour' X-RateLimit-Limit-Minute: $ref: '#/components/headers/rateLimit-limit-minute' RateLimit-Remaining: $ref: '#/components/headers/rateLimit-remaining' X-RateLimit-Remaining-Hour: $ref: '#/components/headers/rateLimit-remaining-hour' X-RateLimit-Remaining-Minute: $ref: '#/components/headers/rateLimit-remaining-minute' RateLimit-Reset: $ref: '#/components/headers/rateLimit-reset' summary: Retrieve a Bank Account Lookup Verification tags: - Bank Account Lookup Verification components: headers: rateLimit-remaining: description: The number of requests remaining in the current rate limit window schema: type: integer rateLimit-reset: description: The remaining time until the rate limit resets in seconds schema: type: integer rateLimit-remaining-hour: description: The number of requests remaining in the current hour rate limit window schema: type: integer rateLimit-limit: description: The maximum number of requests that the consumer is permitted to make in a given period schema: type: integer retry-after: description: Retry the request after X seconds schema: type: integer rateLimit-remaining-minute: description: The number of requests remaining in the current minute rate limit window schema: type: integer rateLimit-limit-minute: description: The maximum number of requests that the consumer is permitted to make in an minute window schema: type: integer rateLimit-limit-hour: description: The maximum number of requests that the consumer is permitted to make in an hour window schema: type: integer schemas: InternalServerError: properties: type: example: about:blank type: string detail: example: Something wrong occurred. type: string required: - detail - type title: InternalServerError type: object TooManyRequestsResponse: properties: message: type: string required: - message title: TooManyRequestsResponse type: object BankAccountLookupFull: properties: id: $ref: '#/components/schemas/UUID' workspace_id: description: The Workspace ID in which the verification has been created. example: 9a93d3b5-fb3b-4abf-9e70-26315b33506c format: uuid type: string workflow_session_id: $ref: '#/components/schemas/WorkflowSessionId' previous_attempt_id: $ref: '#/components/schemas/PreviousAttemptId' created_at: description: Creation date of the Bank Account Lookup Verification. example: '2025-07-23T18:22:00Z' format: date-time type: string updated_at: description: Update date of the Bank Account Lookup Verification. example: '2025-07-23T18:22:00Z' format: date-time type: string status: description: Status of the Bank Account Lookup Verification. enum: - pending - verified - failed - inconclusive example: verified type: string status_codes: description: List of status codes. Indicates the cause when the status is `failed` or `inconclusive`. example: - BALV_1101 items: type: string type: array data_anonymized: description: 'Indicates if the Bank Account Lookup Verification data has been anonymized. If set to `true`, all fields in the `data` field are set to NULL. ' example: false nullable: false type: boolean applicant_id: $ref: '#/components/schemas/WorkflowSessionApplicantId' data: $ref: '#/components/schemas/BankAccountLookupFull_data' required: - applicant_id - created_at - data - data_anonymized - id - previous_attempt_id - status - status_codes - updated_at - workflow_session_id - workspace_id title: BankAccountLookupFull type: object BankAccountLookupFull_data_extracted_from_document: nullable: true properties: iban: description: The IBAN number extracted from the document. example: FR7630006000011234567890189 nullable: true type: string type: object UnsupportedMediaTypeResponse: properties: type: type: string detail: type: string required: - detail - type title: UnsupportedMediaTypeResponse type: object MethodNotAllowed: properties: message: type: string required: - message title: MethodNotAllowed type: object InitiateBankAccountLookupWithNaturalPerson: additionalProperties: false properties: iban: description: 'The International Bank Account Number (IBAN) to verify. The IBAN must be a valid IBAN starting with "FR". The IBAN must belong to a bank that is a member of the SEPAmail DIAMOND network. ' example: FR7630006000011234567890189 type: string natural_person: $ref: '#/components/schemas/InitiateBankAccountLookupWithNaturalPerson_natural_person' workspace_id: description: 'Scopes the verification to a specific workspace. Defaults to the default workspace if not specified. ' example: 9412b83b-b4b9-4a94-97b5-2b43dfa4cde3 format: uuid nullable: true type: string workflow_session_id: $ref: '#/components/schemas/WorkflowSessionId' previous_attempt_id: $ref: '#/components/schemas/PreviousAttemptId' required: - iban - natural_person title: Initiate a new Bank Account Lookup Verification with natural person type: object NotFoundResponse: properties: type: type: string detail: type: string required: - detail - type title: NotFoundResponse type: object InitiateBankAccountLookupFromApplicant: additionalProperties: false properties: applicant_id: description: The Applicant ID linked to the Workflow Session. example: 9a93d3b5-fb3b-4abf-9e70-26315b33506c format: uuid type: string required: - applicant_id title: Attach a new Bank Account Lookup Verification to an Applicant type: object BadRequestResponse: properties: type: type: string detail: type: string required: - detail - type title: BadRequestResponse type: object WorkflowSessionApplicantId: description: 'Unique identifier of an Applicant. ' example: 0ef334d2-7f36-4643-8a2a-4283b4a3e4a4 format: uuid nullable: true title: Applicant type: string ForbiddenResponse: properties: type: type: string detail: type: string required: - detail - type title: ForbiddenResponse type: object UnauthorizedResponse: properties: type: type: string detail: type: string required: - detail - type title: UnauthorizedResponse type: object get_verifications_bank_account_lookups_200_response: properties: meta: $ref: '#/components/schemas/Pagination' data: items: $ref: '#/components/schemas/BankAccountLookupMeta' type: array type: object UUID: description: The unique identifier for a resource. example: 9a93d3b5-fb3b-4abf-9e70-26315b33506c format: uuid type: string BankAccountLookupFull_data: properties: extracted_from_document: $ref: '#/components/schemas/BankAccountLookupFull_data_extracted_from_document' required: - extracted_from_document type: object InitiateBankAccountLookupWithNaturalPersonFromFile: additionalProperties: false properties: file: description: 'The file containing the IBAN number. Accepted formats: PDF. Max size: 10 MB. ' example: Binary file format: binary type: string natural_person: $ref: '#/components/schemas/InitiateBankAccountLookupWithNaturalPerson_natural_person' workspace_id: description: 'Scopes the verification to a specific workspace. Defaults to the default workspace if not specified. ' example: 9412b83b-b4b9-4a94-97b5-2b43dfa4cde3 format: uuid nullable: true type: string workflow_session_id: $ref: '#/components/schemas/WorkflowSessionId' previous_attempt_id: $ref: '#/components/schemas/PreviousAttemptId' required: - file - natural_person title: Initiate a new Bank Account Lookup Verification with natural person type: object InitiateBankAccountLookupWithNaturalPerson_natural_person: description: Information about the natural person who owns the bank account properties: first_name: description: First name of the person example: John maxLength: 255 nullable: false type: string last_name: description: Last name of the person example: Doe maxLength: 255 nullable: false type: string required: - first_name - last_name type: object PreviousAttemptId: description: 'ID of the previous attempt within the same `workflow_session_id`. Allows continuity between multiple attempts of the same Action. Null if this is the first attempt. ' example: 9412b83b-b4b9-4a94-97b5-2b43dfa4cde4 format: uuid nullable: true title: Previous Attempt identifier type: string WorkflowSessionId: description: 'Unique identifier of a Workflow Session. When provided, an Action is created in the Workflow Session, and this resource is associated with that Action. ' example: 0ef334d2-7f36-4643-8a2a-4283b4a3e4a4 format: uuid nullable: true title: Workflow Session identifier type: string Pagination: description: Metadata about the response. properties: next_cursor: description: 'Token to get the next page of results. If `null`, there are no more pages. ' minLength: 1 nullable: true type: string required: - next_cursor type: object BankAccountLookupMeta: properties: id: $ref: '#/components/schemas/UUID' workspace_id: description: The Workspace ID in which the verification has been created. example: 9a93d3b5-fb3b-4abf-9e70-26315b33506c format: uuid type: string created_at: description: Creation date of the Bank Account Lookup Verification. example: '2025-07-23T18:22:00Z' format: date-time type: string updated_at: description: Update date of the Bank Account Lookup Verification. example: '2025-07-23T18:22:00Z' format: date-time type: string status: description: Status of the Bank Account Lookup Verification. enum: - pending - awaiting_data - verified - failed - inconclusive example: verified type: string status_codes: description: List of status codes. Indicates the cause when the status is `failed` or `inconclusive`. example: - BALV_1101 items: type: string type: array data_anonymized: description: 'Indicates if the Bank Account Lookup Verification data has been anonymized. If set to `true`, all fields in the `data` field are set to NULL. ' example: false nullable: false type: boolean workflow_session_id: $ref: '#/components/schemas/WorkflowSessionId' previous_attempt_id: $ref: '#/components/schemas/PreviousAttemptId' required: - created_at - data_anonymized - id - previous_attempt_id - status - status_codes - updated_at - workflow_session_id - workspace_id title: BankAccountLookupMeta type: object post_verifications_bank_account_lookups_request: oneOf: - $ref: '#/components/schemas/InitiateBankAccountLookupWithNaturalPerson' - $ref: '#/components/schemas/InitiateBankAccountLookupFromApplicant' examples: BankAccountLookupExample: summary: 'Pending - Verification Is In Progress: On Creation The Status Is Always Pending' value: id: 9a93d3b5-fb3b-4abf-9e70-26315b33506c workspace_id: 9a93d3b5-fb3b-4abf-9e70-26315b33506c workflow_session_id: 0ef334d2-7f36-4643-8a2a-4283b4a3e4a4 previous_attempt_id: 9412b83b-b4b9-4a94-97b5-2b43dfa4cde4 applicant_id: null created_at: '2025-07-23T18:22:00+00:00' updated_at: '2025-07-23T18:22:00+00:00' status: pending status_codes: [] data_anonymized: false data: extracted_from_document: null securitySchemes: bearerAuth: scheme: bearer type: http