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 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 the identity associated with a bank account document. name: Bank Account Verification paths: /verifications/bank_accounts: get: description: Returns the list of all Bank Account 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-details-verification) for more details and examples. operationId: get-verifications-bank_accounts 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_accounts_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 Verifications tags: - Bank Account Verification post: description: "Ask for a Bank Account Verification by sending the file containing the bank account details, such as IBAN and BIC.\n\nA Bank Account Verification can be requested as follows:\n- **Bank Account verification**: This option only checks the validity of the Bank Account document.\n- **Bank Account verification with legal person**: This option checks both:\n - the validity of the Bank Account document\n - the coherence between the provided **legal person** names and those on the document.\n- **Bank Account verification with natural person**: This option checks both:\n - the validity of the Bank Account document\n - the coherence between the provided **natural person** names and those on the document.\n\nRelated guide: [Bank Account Document Verification](https://developers.yousign.com/docs/bank-account-details-verification)\n\n**ℹ️ This endpoint accepts two request body formats — pick the one that matches your use case:**\n- \U0001F4C1 `multipart/form-data` — upload a binary file containing the bank account details (IBAN/BIC).\n- \U0001F4DD `application/json` — reference an existing Workflow Session Applicant by ID.\n\n**\U0001F513 Endpoint access**\n- Environments: `production`, `sandbox`\n- API key scopes: `organization`, `workspace`\n- Plans: `pro`, `scale`\n- Add-ons (for production access): `Verify - Bank account document check`\n" operationId: post-verifications-bank_accounts requestBody: content: application/json: schema: $ref: '#/components/schemas/InitiateBankAccountFromApplicant' multipart/form-data: schema: $ref: '#/components/schemas/post_verifications_bank_accounts_request' responses: '201': content: application/json: examples: pending: $ref: '#/components/examples/BankAccountExample' schema: $ref: '#/components/schemas/BankAccountFull' 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 Verification tags: - Bank Account Verification x-readme: explorer-enabled: false /verifications/bank_accounts/{bankAccountVerificationId}: get: description: Get the detailed results of a Bank Account Verification. operationId: get-verifications-bank_accounts-id parameters: - description: Bank Account Verification Id in: path name: bankAccountVerificationId required: true schema: $ref: '#/components/schemas/UUID' responses: '200': content: application/json: examples: verified: summary: Verified result value: id: 550e8400-e29b-41d4-a716-446655440000 workspace_id: 9a93d3b5-fb3b-4abf-9e70-26315b33506c created_at: '2025-02-12T23:59:59+00:00' updated_at: '2025-02-12T23:59:59+00:00' status: verified status_codes: [] data_anonymized: false workflow_session_id: null previous_attempt_id: null applicant_id: null data: extracted_from_document: iban: FR7610278030060001478474080 bic: CMCIFR2A schema: $ref: '#/components/schemas/BankAccountFull' 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 Verification tags: - Bank Account 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 BankAccountStatus: description: Status of the Bank Account Verification. enum: - pending - awaiting_data - verified - failed - inconclusive example: verified type: string InitiateBankAccount: additionalProperties: false properties: file: description: 'The file containing the bank account details. Accepted formats: PNG, JPEG, JPG, PDF. Max size: 10 MB. Max resolution: 20 mpx. ' format: binary type: string iban: $ref: '#/components/schemas/IBAN' bic: $ref: '#/components/schemas/BIC' 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 title: Initiate Bank Account Verification type: object BankAccountFull: allOf: - $ref: '#/components/schemas/BankAccountMeta' - properties: data: $ref: '#/components/schemas/BankAccountFull_allOf_data' required: - data type: object title: BankAccountFull type: object TooManyRequestsResponse: properties: message: type: string required: - message title: TooManyRequestsResponse type: object InitiateBankAccountFromApplicant: 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 Verification to an Applicant type: object InitiateBankAccountWithLegalPerson: additionalProperties: false properties: file: description: 'The file containing the bank account details. Accepted formats: PNG, JPEG, JPG, PDF. Max size: 10 MB. Max resolution: 20 mpx. ' format: binary type: string iban: $ref: '#/components/schemas/IBAN' bic: $ref: '#/components/schemas/BIC' legal_person: $ref: '#/components/schemas/InitiateBankAccountWithLegalPerson_legal_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 - legal_person title: Initiate Bank Account Verification with legal person type: object UnsupportedMediaTypeResponse: properties: type: type: string detail: type: string required: - detail - type title: UnsupportedMediaTypeResponse type: object BankAccountMeta: 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 Verification. example: '2025-02-12T23:59:59Z' format: date-time type: string updated_at: description: Update date of the Bank Account Verification. example: '2025-02-12T23:59:59Z' format: date-time type: string status: $ref: '#/components/schemas/BankAccountStatus' status_codes: description: List of status codes. Indicates the cause when the status is `failed` or `inconclusive`. example: - BAV_1604 - BAV_1611 items: type: string type: array data_anonymized: description: 'Indicates if the personal data extracted from the document has been anonymized. If set to `true`, the personal data has been anonymized and most fields will be NULL. ' type: boolean workflow_session_id: $ref: '#/components/schemas/WorkflowSessionId' previous_attempt_id: $ref: '#/components/schemas/PreviousAttemptId' applicant_id: $ref: '#/components/schemas/WorkflowSessionApplicantId' required: - applicant_id - created_at - data_anonymized - id - previous_attempt_id - status - status_codes - updated_at - workflow_session_id title: BankAccountMeta type: object InitiateBankAccountWithNaturalPerson: additionalProperties: false properties: file: description: 'The file containing the bank account details. Accepted formats: PNG, JPEG, JPG, PDF. Max size: 10 MB. Max resolution: 20 mpx. ' format: binary type: string iban: $ref: '#/components/schemas/IBAN' bic: $ref: '#/components/schemas/BIC' natural_person: $ref: '#/components/schemas/InitiateBankAccountWithNaturalPerson_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 Bank Account Verification with natural person type: object MethodNotAllowed: properties: message: type: string required: - message title: MethodNotAllowed type: object NullableBIC: description: Business Identifier Codes (BIC) example: CMCIFR2A maxLength: 11 minLength: 8 nullable: true pattern: ^[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}$ type: string NotFoundResponse: properties: type: type: string detail: type: string required: - detail - type title: NotFoundResponse type: object BIC: description: Business Identifier Codes (BIC) example: CMCIFR2A maxLength: 11 minLength: 8 pattern: ^[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}$ type: string BankAccountFull_allOf_data_extracted_from_document: description: Data extracted from the provided bank account document properties: iban: $ref: '#/components/schemas/NullableIBAN' bic: $ref: '#/components/schemas/NullableBIC' required: - bic - iban type: object WorkflowSessionApplicantId: description: 'Unique identifier of an Applicant. ' example: 0ef334d2-7f36-4643-8a2a-4283b4a3e4a4 format: uuid nullable: true title: Applicant type: string BadRequestResponse: properties: type: type: string detail: type: string required: - detail - type title: BadRequestResponse type: object 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 UUID: description: The unique identifier for a resource. example: 9a93d3b5-fb3b-4abf-9e70-26315b33506c format: uuid type: string BankAccountFull_allOf_data: properties: extracted_from_document: $ref: '#/components/schemas/BankAccountFull_allOf_data_extracted_from_document' required: - extracted_from_document type: object post_verifications_bank_accounts_request: anyOf: - $ref: '#/components/schemas/InitiateBankAccount' - $ref: '#/components/schemas/InitiateBankAccountWithLegalPerson' - $ref: '#/components/schemas/InitiateBankAccountWithNaturalPerson' type: object get_verifications_bank_accounts_200_response: properties: meta: $ref: '#/components/schemas/Pagination' data: items: $ref: '#/components/schemas/BankAccountMeta' type: array type: object InitiateBankAccountWithNaturalPerson_natural_person: additionalProperties: false description: The field can not be submitted if field "legal_person" is provided. properties: first_name: description: 'Please provide the holder first name, exactly as it appears on the bank account document. Please match it exactly, with the same characters, same case. One exception: if the document mentions an honorary title, please don''t provide it as part of the name. ' example: John maxLength: 255 minLength: 1 type: string last_name: description: 'Please provide the holder last name, exactly as it appears on the bank account document. Please match it exactly, with the same characters, same case. One exception: if the document mentions an honorary title, please don''t provide it as part of the name. ' example: Doe maxLength: 255 minLength: 1 type: string type: object IBAN: description: International Bank Account Number (IBAN) example: FR7610278030060001478474080 maxLength: 34 minLength: 14 pattern: ^([A-Z]{2}[ \-]?[0-9]{2})(?=(?:[ \-]?[A-Z0-9]){9,30}$)((?:[ \-]?[A-Z0-9]{3,5}){2,7})([ \-]?[A-Z0-9]{1,3})?$ type: string 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 InitiateBankAccountWithLegalPerson_legal_person: additionalProperties: false description: The field can not be submitted if field "natural_person" is provided. properties: name: description: 'Please provide the legal entity name, exactly as it appears on the bank account document. Please match it exactly, with the same characters, same case. ' example: Foundation Teaming maxLength: 128 minLength: 1 type: string type: object NullableIBAN: description: International Bank Account Number (IBAN) example: FR7610278030060001478474080 maxLength: 34 minLength: 14 nullable: true pattern: ^([A-Z]{2}[ \-]?[0-9]{2})(?=(?:[ \-]?[A-Z0-9]){9,30}$)((?:[ \-]?[A-Z0-9]{3,5}){2,7})([ \-]?[A-Z0-9]{1,3})?$ 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 examples: BankAccountExample: 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: iban: null bic: null securitySchemes: bearerAuth: scheme: bearer type: http