> ## Documentation Index
> Fetch the complete documentation index at: https://docs.didit.me/llms.txt
> Use this file to discover all available pages before exploring further.

# 계좌 확인 API: 지급 계좌 검증

> 송금하기 전에 지정한 개인이나 기업 명의의 계좌가 맞는지 확인하세요. Didit 세션이나 로그인이 필요 없습니다.

> [!NOTE]
>
> 프로덕션에서는 계좌 확인이 나이지리아, 가나, 케냐에서 실행됩니다.
> 다른 국가는 `code: country_not_covered`와 함께 `404`로 응답하며 요금이 청구되지 않습니다.
> 지원 국가는 계속 늘어나며, [은행 인증 요금](https://docs.didit.me/ko/getting-started/bank-verification-pricing.md)에서 현재 각 국가에서 제공하는 항목을 언제나 확인할 수 있습니다.

백엔드에서 이름과 계좌를 보내고 결과를 읽으면 됩니다. 이는 사람 없이 진행하는 은행 인증 단계의 [계좌 확인](https://docs.didit.me/ko/core-technology/bank-verification/account-check.md)입니다.

## 국가별 형식에 맞춰 계좌 정보 보내기

| 국가 | `account` |
| - | - |
| IBAN 사용 국가 | `{"iban": "..."}` |
| 영국 | `{"sort_code": "...", "account_number": "..."}` |
| 미국 | `{"routing_number": "...", "account_number": "..."}` |
| 캐나다 | `{"transit_institution": "...", "account_number": "..."}` |
| 호주 | `{"bsb": "...", "account_number": "..."}` |
| 인도 | `{"ifsc": "...", "account_number": "..."}` |
| 나이지리아 | `{"bank_code": "...", "account_number": "..."}`, 은행의 6자리 NIP 코드(Access Bank는 `000014`)와 10자리 NUBAN 사용 |
| 가나 | `{"bank_code": "...", "account_number": "..."}`, 은행의 3자리 영문 코드(GCB Bank는 `GCB`) 사용 |
| 케냐 | `{"bank_code": "...", "account_number": "..."}`, 은행의 2자리 코드(KCB는 `01`) 사용 |
| 멕시코 | `{"clabe": "..."}` |
| 아르헨티나 | `{"cbu_cvu": "..."}` |

일부 국가는 `bic`를 요구하며, 법인 계좌의 경우 `registration_id`를 요구하기도 합니다. 공백, 하이픈, 점은 무시됩니다. 해당 국가의 확인에 필요한 키를 보내지 않으면 누락된 키를 명시한 `400` 응답이 반환됩니다. 예: `"field": "account.bank_code", "reason": "required"`.

개인 계좌를 확인하려면 `holder.full_name`을, 법인 계좌를 확인하려면 `holder.business_name`을 보내십시오.

## 계좌 소유자의 동의 보내기

일부 국가에서는 계좌 확인을 실행하기 전에 계좌 소유자의 명시적인 동의가 필요합니다.
제품에서 동의를 받은 후 `"consent": true`를 보내십시오.
동의 없이 해당 국가에서 확인을 요청하면 `400`(`field: consent`, `reason: required`)으로 거부되며 요금이 청구되지 않습니다.
그 밖의 국가에서는 `consent`가 선택 사항이며, 보내면 Didit이 확인 요금과 함께 이를 기록합니다.
샌드박스 키는 라이브 키와 같은 국가에서 동의를 요구합니다.

## 결과 확인하기

| `result` | 의미 | 일반적인 다음 단계 |
| - | - | - |
| `match` | 은행이 보내신 이름으로 해당 계좌를 보유하고 있습니다. | 송금하십시오. |
| `close_match` | 은행이 비슷한 이름으로 계좌를 보유하고 있습니다. 은행이 반환한 경우 `holder_name`에 그 이름이 담깁니다. | `holder_name`을 비교하거나 본인에게 확인을 요청하십시오. |
| `no_match` | 은행이 다른 이름으로 계좌를 보유하고 있거나 해당 계좌가 존재하지 않습니다. | 송금하지 마십시오. |
| `cannot_verify` | 은행이 이름을 비교하지 않고 응답했습니다. 예를 들어 계좌가 차단되었거나 해지된 경우입니다. | 자체 정책을 적용하십시오. 예를 들어 다른 계좌를 요청할 수 있습니다. |

## 요금 청구와 재시도

은행이 응답한 각 확인은 결과와 관계없이 계좌 소속 국가의 [계좌 확인 요금](https://docs.didit.me/ko/getting-started/bank-verification-pricing.md)으로 한 번 청구됩니다. 오류로 응답한 요청은 절대 청구되지 않습니다. 여기에는 거부된 요청 본문(`400`), 크레딧 없음(`402`), 아직 확인을 지원하지 않는 계좌(`404`), 응답할 수 없는 은행(`503`)이 포함됩니다.

확인 결과를 다시 조회하는 엔드포인트는 없으며, 멱등성 키도 지원하지 않습니다. 재시도한 요청은 새로운 `request_id`로 새 확인을 실행하고 다시 청구되므로, 응답을 반드시 저장하십시오. Didit은 요금, 요청 ID, 국가, 결과 및 마스킹된 계좌 정보만 저장하며, 이름이나 전체 계좌 번호는 저장하지 않습니다.

## 샌드박스에서 테스트하기

샌드박스 API 키는 은행을 호출하지 않으며 요금도 청구되지 않습니다. IBAN의 마지막 4개 문자, IBAN이 없으면 계좌 번호의 마지막 4개 문자에 따라 응답이 결정됩니다.

| 끝 자리 | 응답 |
| - | - |
| `0001` | `close_match`, `holder_name` 포함 |
| `0002` | `close_match`, `holder_name: null` |
| `0003`, `0006` | `no_match` |
| `0004` | `cannot_verify` |
| `0005` | `503`, `account_check_unavailable` |
| `0009` | `400`, `reason: rejected` |
| 그 밖의 모든 값 | `match` |

IBAN, CLABE, CBU에는 검증 숫자가 포함되어 있습니다. 모든 형식 검사를 통과하는 [샌드박스 값](https://docs.didit.me/ko/core-technology/bank-verification/account-check.md#샌드박스에서-테스트하기)을 사용하십시오.

## 접근

애플리케이션의 `x-api-key`나 클라이언트 자격 증명 베어러 토큰으로 인증하십시오. 범위가 지정된 API 키에는 세션에 대한 쓰기 권한이 필요합니다. 이 엔드포인트는 API 키당 분당 300건의 쓰기 한도를 다른 쓰기 엔드포인트와 공유합니다.


## OpenAPI

````yaml ko/openapi-25.json POST /v3/bank/account-check/
openapi: 3.0.0
info:
  version: 3.0.0
  title: Didit Verification API
  description: 신분증 인증 API입니다. x-api-key 헤더로 인증합니다.
servers:
  - url: https://verification.didit.me
security: []
tags: []
paths:
  /v3/bank/account-check/:
    post:
      tags:
        - Standalone APIs
      summary: 은행 계좌 확인
      description: >-
        자금을 송금하기 전에 은행 계좌가 지정한 개인 또는 기업의 소유인지 확인합니다. 세션이나 로그인이 필요하지 않습니다. 이름과
        계좌를 전송하고 결과를 확인하면 됩니다. 백엔드에서 실행되는 은행 확인 단계의 [계좌
        확인](/ko/core-technology/bank-verification/account-check)입니다.


        **전송하는 데이터.** 계좌의 `country`(ISO 3166-1 alpha-3), 해당 국가의 표기 방식에 따른
        `account`, 그리고 `holder` 이름(개인의 경우 `full_name`, 기업의 경우
        `business_name`)입니다. 기업 이름은 기업 계좌를 확인합니다.


        **반환되는 결과.** `result`는 `match`, `close_match`, `no_match` 또는
        `cannot_verify`입니다. `close_match`의 경우 은행에서 반환했을 때 `holder_name`은 은행에 등록된
        해당 계좌의 예금주명입니다. `account`는 마지막 4자리를 제외하고 마스킹되어 반환됩니다.


        **결제.** 은행이 응답한 각 확인은 결과와 관계없이 해당 계좌 국가의 계좌 확인 가격으로 1회 청구됩니다.
        `no_match`, 존재하지 않는 계좌, `cannot_verify`도 청구 대상입니다. 오류로 응답된 요청은 청구되지
        않습니다.


        **모든 요청은 새로운 확인입니다.** 멱등성 키가 없으며 확인 내역을 다시 조회하는 endpoint도 없으므로, 재시도된 요청은
        다시 실행되고 다시 청구됩니다. 응답을 저장하십시오.


        **샌드박스.** 샘플 계좌 세부 정보와 함께 샌드박스 API 키를 사용하십시오. 샌드박스 키는 은행을 호출하지 않으며 비용이
        청구되지 않습니다. IBAN의 마지막 4자리(IBAN이 없으면 계좌 번호의 마지막 4자리)에 따라 응답이 결정됩니다.
        `0001`은 `holder_name`이 포함된 `close_match`, `0002`는 예금주명이 없는
        `close_match`, `0003` 및 `0006`은 `no_match`, `0004`는 `cannot_verify`,
        `0005`는 `503`, `0009`는 `400`입니다. 그 외의 다른 끝자리는 `match`입니다.


        **API 키.** 스코프가 지정된 API 키에는 세션에 대한 쓰기 권한이 필요합니다.
      operationId: post_v3_bank_account_check
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BankAccountCheckRequest'
            examples:
              Person, Nigeria:
                summary: 개인 성명과 대조 검증된 은행 코드 및 계좌번호
                value:
                  country: NGA
                  account:
                    bank_code: '000014'
                    account_number: '0123450001'
                  holder:
                    full_name: Maria Oliveira
                  vendor_data: payout_20481
              Company, Nigeria:
                summary: 기업명과 대조 검증된 은행 코드 및 계좌번호
                value:
                  country: NGA
                  account:
                    bank_code: '000014'
                    account_number: '0123456789'
                  holder:
                    business_name: Northwind Trading Ltd
      responses:
        '200':
          description: 은행이 응답했습니다. 결과와 관계없이 확인 비용이 청구됩니다.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankAccountCheckResponse'
              examples:
                Close match:
                  summary: 은행이 유사한 이름으로 계좌를 보유하고 있습니다
                  value:
                    request_id: c2f4a9e0-7b1d-4c3a-9e55-1d0a6b8f2a47
                    result: close_match
                    holder_name: MARIA R OLIVEIRA
                    account: '****0001'
                    vendor_data: payout_20481
                    created_at: '2026-10-21T14:32:08Z'
                Match:
                  summary: 은행이 전송된 이름으로 계좌를 보유하고 있습니다
                  value:
                    request_id: 5b0e2d7c-41a8-4f6e-9c3b-8e7d1a2f6c90
                    result: match
                    holder_name: null
                    account: '****6789'
                    vendor_data: null
                    created_at: '2026-10-21T14:35:41Z'
        '400':
          description: >-
            보낸 내용 그대로 거부되었으며 요금이 청구되지 않았습니다. `field`는 수정해야 할 본문 필드를 나타내고,
            `reason`은 호스팅 계정 양식에 표시되는 것과 동일한 이유를 설명합니다. 처음 거부된 필드만 보고됩니다.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankAccountCheckError'
              examples:
                Missing field:
                  summary: 해당 국가의 확인에는 은행 코드가 필요합니다
                  value:
                    detail: The bank code is not valid (required).
                    code: invalid_account_input
                    field: account.bank_code
                    reason: required
                Invalid IBAN:
                  summary: 해당 국가에 맞지 않는 IBAN 길이입니다
                  value:
                    detail: The iban is not valid (length).
                    code: invalid_account_input
                    field: account.iban
                    reason: length
                Refused by the bank:
                  summary: 은행이 전송된 계좌를 거부했습니다
                  value:
                    detail: The account was refused as typed (rejected).
                    code: invalid_account_input
                    field: account.account_number
                    reason: rejected
                No name:
                  summary: '`holder`에 `full_name`과 `business_name`이 모두 없습니다.'
                  value:
                    detail: >-
                      Send full_name for a person or business_name for a
                      company.
                    code: invalid_account_input
                    field: holder
                    reason: required
                Consent required:
                  summary: 해당 국가의 계좌 확인에는 계좌 소유자의 동의가 필요합니다
                  value:
                    detail: >-
                      Account checks in this country need the account holder's
                      explicit consent. Ask for it, then send `consent=true`.
                    code: invalid_account_input
                    field: consent
                    reason: required
        '401':
          description: 스코프가 지정된 API 키가 만료되었습니다.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankAccountCheckError'
              examples:
                Expired key:
                  summary: 키의 만료일이 지났습니다
                  value:
                    detail: This API key has expired.
        '402':
          description: 검사 비용을 결제할 수 없어 실행되지 않았습니다. 잔액을 충전한 후 다시 전송하십시오.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankAccountCheckError'
              examples:
                Out of credit:
                  summary: 잔액이 1회의 확인 비용을 충당할 수 없습니다
                  value:
                    detail: >-
                      You don't have enough credits to perform this request.
                      Please top up at https://business.didit.me
                    code: insufficient_credits
                Not in your contract:
                  summary: 계약에 Account check API에 대한 가격이 설정되어 있지 않습니다
                  value:
                    detail: >-
                      Your contract does not price the Account check API.
                      Contact your account manager.
                    code: contract_rate_missing
        '403':
          description: >-
            `x-api-key` 헤더 또는 전달자 토큰이 누락되었거나 유효하지 않으며, 요청이 키의 IP 목록 외부 주소에서
            발생했거나, 범위가 지정된 키에 세션 쓰기 권한이 없습니다.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankAccountCheckError'
              examples:
                Missing or invalid credentials:
                  summary: 유효한 API 키 또는 token이 없음
                  value:
                    detail: You do not have permission to perform this action.
                No sessions write:
                  summary: 세션에 대한 쓰기 권한이 없는 범위 한정 키
                  value:
                    detail: This API key has no write access to sessions.
        '404':
          description: >-
            아직 이 계좌를 지원하는 계좌 확인이 없으므로 확인되거나 청구된 내용이 없습니다. `country_not_covered`:
            해당 국가 또는 해당 국가의 계좌 유형(개인 또는 기업)을 지원하지 않습니다. `bank_not_covered`: 해당
            은행을 지원하지 않습니다.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankAccountCheckError'
              examples:
                Country not covered:
                  summary: 해당 국가를 지원하는 계좌 확인이 없습니다
                  value:
                    detail: No account check serves this country yet.
                    code: country_not_covered
                Bank not covered:
                  summary: 해당 계좌의 은행을 지원하는 계좌 확인이 없습니다
                  value:
                    detail: No account check serves this account's bank yet.
                    code: bank_not_covered
        '429':
          $ref: '#/components/responses/RateLimitedWrite'
        '503':
          description: 은행이 응답할 수 없었습니다. 확인되거나 청구된 내역이 없습니다. 나중에 확인을 다시 보내십시오.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankAccountCheckError'
              examples:
                Unavailable:
                  summary: 은행이 응답하지 않았습니다
                  value:
                    detail: >-
                      The account check is temporarily unavailable and this
                      request was not charged. Please try again.
                    code: account_check_unavailable
      security:
        - ApiKeyAuth: []
        - BearerAuth: []
      x-codeSamples:
        - lang: curl
          label: curl
          source: |-
            curl -X POST https://verification.didit.me/v3/bank/account-check/ \
              -H 'x-api-key: YOUR_API_KEY' \
              -H 'Content-Type: application/json' \
              -d '{
                "country": "NGA",
                "account": {"bank_code": "000014", "account_number": "0123450001"},
                "holder": {"full_name": "Maria Oliveira"},
                "vendor_data": "payout_20481"
              }'
        - lang: python
          label: Python
          source: |-
            from didit import Didit

            # Reads DIDIT_API_KEY.
            client = Didit()

            result = client.bank.account_check(
                country="NGA",
                account={
                    "account_number": "0123450001",
                    "bank_code": "000014",
                },
                holder={
                    "full_name": "Maria Oliveira",
                },
                vendor_data="payout_20481",
            )
            print(result)
        - lang: javascript
          label: Node.js
          source: |-
            import Didit from "@didit-protocol/sdk-node";

            // Reads DIDIT_API_KEY.
            const didit = new Didit();

            const result = await didit.bank.accountCheck({
              country: "NGA",
              account: {
                account_number: "0123450001",
                bank_code: "000014",
              },
              holder: {
                full_name: "Maria Oliveira",
              },
              vendor_data: "payout_20481",
            });
            console.log(result);
        - lang: go
          label: Go
          source: "ctx := context.Background()\n// Reads DIDIT_API_KEY.\nclient := didit.NewClient()\n\nresult, err := client.Bank.AccountCheck(ctx, didit.BankAccountCheckRequest{\n\tCountry: \"NGA\",\n\tAccount: didit.BankAccountCheckRequestAccount{\n\t\tAccountNumber: didit.String(\"0123450001\"),\n\t\tBankCode:      didit.String(\"000014\"),\n\t},\n\tHolder: didit.BankAccountCheckHolder{\n\t\tFullName: didit.String(\"Maria Oliveira\"),\n\t},\n\tVendorData: didit.String(\"payout_20481\"),\n})\nif err != nil {\n\tlog.Fatal(err)\n}\nfmt.Printf(\"%+v\\n\", result)"
        - lang: java
          label: Java
          source: >-
            import me.didit.Didit;

            import me.didit.types.BankAccountCheckHolder;

            import me.didit.types.BankAccountCheckPersonHolder;

            import me.didit.types.BankAccountCheckRequest;


            // Reads DIDIT_API_KEY.

            Didit client = new Didit();


            var result =
            client.bank().accountCheck(BankAccountCheckRequest.builder()
                    .country("NGA")
                    .account(BankAccountCheckRequest.Account.builder()
                            .accountNumber("0123450001")
                            .bankCode("000014")
                            .build())
                    .holder(BankAccountCheckHolder.ofBankAccountCheckPersonHolder(BankAccountCheckPersonHolder.builder()
                            .fullName("Maria Oliveira")
                            .build()))
                    .vendorData("payout_20481")
                    .build());
            System.out.println(result);
        - lang: php
          label: PHP
          source: |-
            <?php

            require 'vendor/autoload.php';

            use Didit\DiditClient;

            // Reads DIDIT_API_KEY.
            $didit = new DiditClient();

            $result = $didit->bank->accountCheck([
                'country' => 'NGA',
                'account' => [
                    'account_number' => '0123450001',
                    'bank_code' => '000014',
                ],
                'holder' => [
                    'full_name' => 'Maria Oliveira',
                ],
                'vendor_data' => 'payout_20481',
            ]);
            print_r($result->toArray());
        - lang: ruby
          label: Ruby
          source: |-
            require "didit"

            # Reads DIDIT_API_KEY.
            didit = Didit::Client.new

            result = didit.bank.account_check(
              country: "NGA",
              account: {
                account_number: "0123450001",
                bank_code: "000014",
              },
              holder: {
                full_name: "Maria Oliveira",
              },
              vendor_data: "payout_20481"
            )
            puts result.to_h
        - lang: csharp
          label: .NET
          source: >-
            using System;

            using System.Text.Json;

            using Didit;


            // Reads DIDIT_API_KEY.

            using var client = new DiditClient();


            var result = await client.Bank.AccountCheckAsync(new
            BankAccountCheckRequest

            {
                Country = "NGA",
                Account = new()
                {
                    AccountNumber = "0123450001",
                    BankCode = "000014",
                },
                Holder = new()
                {
                    FullName = "Maria Oliveira",
                },
                VendorData = "payout_20481",
            });

            Console.WriteLine(JsonSerializer.Serialize(result));
components:
  schemas:
    BankAccountCheckRequest:
      type: object
      required:
        - country
        - account
        - holder
      properties:
        country:
          type: string
          minLength: 3
          maxLength: 3
          description: 'ISO 3166-1 alpha-3 코드 형식의 계정 국가입니다(예: `NGA`). 소문자도 허용됩니다.'
          example: NGA
        account:
          type: object
          description: >-
            해당 국가의 표기 방식에 따른 계좌입니다: `iban` 또는 해당 국가에 필요한 은행 또는 지점
            코드(`sort_code`, `routing_number`, `transit_institution`, `bsb`,
            `ifsc`, `bank_code` 또는 `bic`)가 포함된 `account_number`입니다. 멕시코는
            `clabe`, 아르헨티나는 `cbu_cvu`를 사용하며 은행을 이미 식별합니다. 기업 계좌의 경우 국가에서 요구하면
            `registration_id`를 추가합니다. 공백, 대시 및 마침표는 무시됩니다. 해당 국가의 검증에 사용되지 않는 키는
            무시되며, 필요한 키가 제공되지 않으면 해당 키를 명시하는 `400`이 반환됩니다.
          properties:
            iban:
              type: string
              maxLength: 64
              description: IBAN을 사용하는 국가의 IBAN입니다. `country`와 일치해야 합니다.
            account_number:
              type: string
              maxLength: 64
              description: 별도의 은행 또는 지점 코드로 계좌를 표기하는 국가에서의 계좌번호입니다.
            sort_code:
              type: string
              maxLength: 64
              description: '영국: 6자리 sort code입니다.'
            routing_number:
              type: string
              maxLength: 64
              description: '미국: 9자리 ABA 라우팅 번호입니다.'
            transit_institution:
              type: string
              maxLength: 64
              description: '캐나다: 8자리 지점 및 금융기관 번호입니다.'
            bsb:
              type: string
              maxLength: 64
              description: '호주: 6자리 BSB입니다.'
            ifsc:
              type: string
              maxLength: 64
              description: '인도: 11자리 IFSC.'
            bank_code:
              type: string
              maxLength: 64
              description: '해당 국가에서 필요한 경우 은행 코드입니다(예: 나이지리아).'
            bic:
              type: string
              maxLength: 64
              description: 해당 국가의 확인에서 요구하는 경우 은행의 BIC입니다.
            clabe:
              type: string
              maxLength: 64
              description: '멕시코: 18자리 CLABE입니다. 은행명이 이미 포함되어 있습니다.'
            cbu_cvu:
              type: string
              maxLength: 64
              description: '아르헨티나: 22자리 CBU 또는 CVU입니다. 은행을 이미 식별합니다.'
            registration_id:
              type: string
              maxLength: 64
              description: 해당 국가에서 요구하는 비즈니스 계정의 등록번호입니다.
          additionalProperties:
            type: string
            maxLength: 64
          example:
            bank_code: '000014'
            account_number: '0123450001'
        holder:
          $ref: '#/components/schemas/BankAccountCheckHolder'
        vendor_data:
          type: string
          nullable: true
          description: 이 검사에 대한 귀하 고유의 참조값이며, 변경 없이 반환됩니다.
          example: payout_20481
        consent:
          type: boolean
          default: false
          description: >-
            계좌 명의인이 이 검사에 명시적으로 동의한 경우 `true`로 설정합니다. 해당 동의가 필요한 계좌 검사 국가에서는 필수
            항목입니다. 동의가 없으면 `field`가 `consent`이고 `reason`이 `required`인 `400` 오류와
            함께 검사가 거부되며 요금이 청구되지 않습니다. 그 외 지역에서는 선택 사항이며, 전송 시 Didit이 검사 요금 청구와
            함께 이를 기록합니다.
          example: true
    BankAccountCheckResponse:
      type: object
      required:
        - request_id
        - result
        - holder_name
        - account
        - vendor_data
        - created_at
      properties:
        request_id:
          type: string
          format: uuid
          description: 이 검사의 ID입니다.
        result:
          type: string
          enum:
            - match
            - close_match
            - no_match
            - cannot_verify
          description: >-
            `match`: 은행에서 보낸 이름으로 계좌를 보유하고 있습니다. `close_match`: 유사한 이름(예: 중간 이름
            누락 또는 오타)으로 보유하고 있습니다. `no_match`: 다른 이름으로 보유하고 있거나 해당 계좌가 존재하지
            않습니다. `cannot_verify`: 은행이 이름을 비교하지 않고 응답했습니다(예: 차단되었거나 해지된 계좌).
        holder_name:
          type: string
          nullable: true
          description: >-
            `close_match`인 경우 및 은행이 이를 반환한 경우에만 해당합니다: 은행에 보관된 계좌의 예금주명입니다. 그렇지
            않으면 `null`입니다.
        account:
          type: string
          description: 마지막 4자리를 제외하고 마스킹된 계좌입니다.
        vendor_data:
          type: string
          nullable: true
          description: 전송하신 그대로의 귀하 고유 참조값입니다.
        created_at:
          type: string
          format: date-time
          description: 검사가 실행된 시점(UTC)입니다.
    BankAccountCheckError:
      type: object
      required:
        - detail
      properties:
        detail:
          type: string
          description: 오류 내용(영문).
        code:
          type: string
          description: 분기 처리를 위한 고정 코드입니다. `401` 및 `403`에는 제공되지 않습니다.
        field:
          type: string
          description: '`400` 전용: 수정해야 할 본문 필드로, 점으로 구분된 경로(예: `account.sort_code`) 형식입니다.'
        reason:
          type: string
          enum:
            - required
            - length
            - format
            - checksum
            - country_mismatch
            - rejected
          description: >-
            `400` 전용: 해당 필드가 거부된 이유입니다. `required`, `length`, `format`,
            `checksum`, `country_mismatch`(다른 국가의 IBAN)는 Didit 자체 검사이며,
            `rejected`는 은행이 전송된 계좌를 거부했음을 의미합니다.
    BankAccountCheckHolder:
      description: 계좌 확인 대상 이름입니다. `full_name`과 `business_name` 중 정확히 하나만 전송하세요.
      oneOf:
        - $ref: '#/components/schemas/BankAccountCheckPersonHolder'
        - $ref: '#/components/schemas/BankAccountCheckBusinessHolder'
    BankAccountCheckPersonHolder:
      type: object
      description: 계정을 보유해야 하는 인물입니다.
      required:
        - full_name
      properties:
        full_name:
          type: string
          maxLength: 255
          description: 계정 소유자여야 하는 사람의 성명입니다.
          example: Maria Oliveira
    BankAccountCheckBusinessHolder:
      type: object
      description: 계좌를 보유해야 하는 기업입니다. 기업 계좌를 확인합니다.
      required:
        - business_name
      properties:
        business_name:
          type: string
          maxLength: 255
          description: 계좌를 보유해야 하는 회사의 이름입니다. 기업 계좌를 확인합니다.
  responses:
    RateLimitedWrite:
      description: >-
        API 키당 분당 300개의 요청을 처리하는 공유 쓰기 속도 제한을 초과했습니다. 다시 시도하기 전에 `Retry-After`를
        준수하십시오.
      content:
        application/json:
          schema:
            type: object
            required:
              - detail
            properties:
              detail:
                type: string
          example:
            detail: >-
              Write request rate limit exceeded. You can make up to 300 requests
              per minute.
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        Business Console의 Developers -> API keys에서 발급받은 귀하 애플리케이션의 API 키입니다. 기본
        키는 전체 접근 권한을 갖습니다. 이름이 지정된 키는 리소스별 none, read, write 범위로 권한을 제한할 수 있으며
        특정 워크플로나 승인된 세션, IP 주소 목록, 만료일 등으로 제한할 수도 있습니다. 401은 키가 잘못되었거나 폐기되었거나
        만료되었음을 의미합니다. 403은 키가 전송되지 않았거나, 키에 해당 리소스나 작업에 대한 접근 권한이 없거나, 요청이 허용된
        IP 목록 외부 주소에서 발생했음을 의미합니다. 세션 경로에서의 404는 해당 세션이 키의 허용 워크플로 또는 상태 범위를
        벗어났음을 의미합니다. 미디어 접근 권한이 없는 키는 이미지, 비디오, PDF URL을 null로 수신하며, 세션 write
        권한이 없는 키는 세션 링크와 token을 null로 수신합니다.
        https://docs.didit.me/console/api-keys 를 참고하십시오.
    BearerAuth:
      type: http
      scheme: bearer
      description: 애플리케이션의 클라이언트 자격 증명 액세스 token입니다.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.