> ## 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.

# 다른 제공업체 데이터 가져오기

> Didit으로 과거 인증 세션, 사용자, 프로필 얼굴, 차단 목록, 기업, 거래, 워크플로 상태 규칙을 가져오는 올바른 경로를 선택하세요.

이 가이드를 참고하면 다른 제공업체에서 Didit으로 데이터를 옮길 때 알맞은 가져오기 경로를 고를 수 있습니다. 고객이 "가져오기"라고 부르는 작업에는 서로 다른 두 가지가 있습니다.- **과거 인증 작업 가져오기**: 완료된 KYC, KYB, 거래 모니터링 또는 워크플로 규칙 기록을 다시 만들어 Didit에서 기존 제공업체의 이력이 보이도록 합니다. `POST /v3/session/imports/`를 사용합니다.
- **운영 데이터 가져오기**: 향후 검사에서 Didit이 사용할 수 있도록 사용자, 기업, 프로필 얼굴, 차단 목록 항목 또는 허용 목록 항목을 생성합니다. 엔티티, 얼굴, 목록 API를 사용합니다.인증 가져오기는 KYC와 KYB에 대해 `session_type: "MIGRATED"`인 과거 기록을 만듭니다. 이 가져오기는 최종 사용자에게 이메일을 보내지 않고, 사용자를 호스팅 인증 흐름으로 리디렉션하지 않으며, 원래 인증을 다시 실행하지 않습니다. 가져온 기록은 해당되는 경우 세션 목록, 엔티티 프로필, 거래 보기, `GET /v3/session/{session_id}/decision/`에 나타납니다.## 어떤 가져오기를 사용해야 하나요?| 목표 | 사용할 가져오기 경로 | 생성되는 항목 | 적합한 경우 |
| - | - | - | - |
| 과거 KYC 세션 다시 만들기 | `POST /v3/session/imports/` (`import_type=user_verification` 사용) | `Session`, 신분증 인증 데이터, 선택 사항인 문서 및 셀피 이미지, 문서 및 라이브니스 동영상, 태그, 메타데이터 | Sumsub, MetaMap, Veriff, Onfido, Persona, Jumio, Incode, iDenfy, Trulioo 또는 다른 KYC 제공업체에서 완료된 신청자 옮기기 |
| 과거 KYB 세션 다시 만들기 | `POST /v3/session/imports/` (`import_type=business_verification` 사용) | `BusinessSession`, 법인 등기부 데이터, 임원, 실소유자, 태그, 메타데이터 | KYB 제공업체, 법인 등기부 제공업체 또는 내부 KYB 도구에서 완료된 기업 검사 옮기기 |
| 과거 거래 모니터링 기록 다시 만들기 | `POST /v3/session/imports/` (`import_type=transactions` 사용) | `Transaction`, 거래 주체 및 거래 상대방, 제공업체 결과, Travel Rule 데이터, 네트워크 스냅샷, 메타데이터 | 규칙 엔진, KYT, 지갑 스크리닝 또는 법정화폐 거래 모니터링 기록 옮기기 |
| 사용자 지정 워크플로 상태 규칙 가져오기 | `POST /v3/session/imports/` (`import_type=status_rules` 사용) | `VerificationSettings.feature_status_rules` | 다른 제공업체나 스프레드시트의 정책 로직을 Didit의 워크플로 엔진으로 옮기기 |
| 과거 세션 없이 사용자 만들기 | `POST /v3/users/create/` 또는 콘솔 CSV 가져오기 | `VendorUser` 프로필 행 | 새 Didit 검사를 시작하기 전에 사용자 명단 불러오기 |
| 신뢰할 수 있는 프로필 얼굴을 사용자에게 연결하기 | `POST /v3/organization/{organization_id}/application/{application_id}/vendor-users/by-id/{didit_internal_id}/faces/upload/` | 중복 탐지와 얼굴 검색을 위해 색인된 프로필 얼굴 증거 | 전체 세션을 다시 만들지 않고 다른 KYC 제공업체의 프로필 얼굴 이미지 옮기기 |
| 얼굴을 차단 목록 또는 허용 목록에 추가 | `POST /v3/lists/{list_uuid}/entries/face-upload/` 또는 `POST /v3/lists/{list_uuid}/entries/` (`reference_session_id` 사용) | 얼굴 목록 항목과 생체 인식 임베딩 | 알려진 사기 얼굴이나 신뢰할 수 있는 허용 목록 얼굴을 옮기거나, 기존 Didit 세션의 얼굴을 차단 목록에 추가하기 |
| 과거 KYB 세션 없이 기업 만들기 | `POST /v3/businesses/create/` 또는 콘솔 CSV 가져오기 | `VendorBusiness` 프로필 행 | KYB를 실행하기 전에 기업 고객 명단 불러오기 |> [!NOTE]
>
> 사용자 또는 기업 프로필만 향후 검사에 필요하다면 과거 인증 세션을 가져오지 마세요. 사용자 또는 기업 엔티티 API를 사용합니다. 기존 제공업체의 결정, 문서 필드, 경고 또는 증거가 Didit에서 컴플라이언스 이력으로 보여야 한다면 `POST /v3/session/imports/`를 사용합니다.## 제공업체별로 무엇을 이전할 수 있나요?Didit은 표준 CSV 또는 NDJSON 파일을 받으므로, 데이터를 내보내고 변환하기만 하면 어느 제공업체에서든 이전할 수 있습니다. 가져오기 형식은 항상 Didit의 표준 스키마입니다.| 제공업체 유형 | 일반적인 소스 | 일반적으로 이전 가능한 항목 | 참고 |
| - | - | - | - |
| KYC 제공업체 | Sumsub, MetaMap, Veriff, Onfido, Persona, Jumio, Incode, iDenfy, Trulioo, HyperVerge, AU10TIX, Mitek, Ondato | 지원자 ID, 제공업체 사용자 ID, 결정 상태, 문서 필드, 문서 이미지, 셀피/라이브니스 이미지, 거부 라벨, 태그, 원본 제공업체 메타데이터 | `import_type=user_verification`을 사용하십시오. 제공업체가 이미지를 내보낼 수 없다면 구조화된 필드만 가져오고 이미지 URL은 비워 두십시오. |
| KYB 제공업체 | 법인 등기 제공업체, Sumsub KYB, Trulioo KYB, Creditsafe 유형의 등기 내보내기, 내부 KYB 도구 | 기업명, 등록번호, 국가, 등기 상태, 임원, 실소유자, 위험 수준, 원본 등기 페이로드 | `import_type=business_verification`을 사용하십시오. 임원과 실소유자는 JSON 배열로 전달합니다. |
| 거래 모니터링 / KYT 제공업체 | Sumsub Transaction Monitoring, Chainalysis 유형의 KYT 내보내기, Crystal, Merkle Science, Sardine, Unit21, Alloy, 내부 규칙 엔진 | 거래 ID, 금액, 통화, 방향, 주체/거래 상대방, 규칙 적중 항목, 제공업체 결과, Travel Rule 상태, 네트워크 그래프 스냅샷 | `import_type=transactions`를 사용하십시오. 가져온 거래는 과거 기록이며, 기본적으로 다시 스크리닝되지 않습니다. |
| 워크플로 및 정책 스프레드시트 | 컴플라이언스 정책 내보내기, 제공업체 규칙 표, 내부 위험 스프레드시트 | "발급 국가가 X이면 신분증 인증을 검토 중으로 설정" 같은 기능별 상태 규칙 | `import_type=status_rules`를 사용하십시오. 규칙은 저장되기 전에 Didit의 워크플로 필드 카탈로그를 기준으로 검증됩니다. |
| 사용자/프로필 저장소 | CRM, 고객 데이터베이스, 제공업체 사용자 내보내기, 데이터 웨어하우스 | `vendor_data`, 표시 이름, 메타데이터, 태그, 신뢰할 수 있는 얼굴 이미지 | User API와 프로필 얼굴 업로드를 사용하십시오. 완료된 인증 세션과는 다릅니다. |
| 차단 목록/허용 목록 데이터 | 제공업체 사기 목록, 내부 사기 운영 시트, 차지백 목록, 제재와 관련된 내부 목록 | 이메일, 전화번호, 문서, 지갑, IP, 기기 지문, 얼굴, 국가, 사용자, 기업 | Lists API를 사용하십시오. 얼굴 이미지는 Didit이 생체 인식 임베딩을 추출할 수 있도록 전용 얼굴 업로드 엔드포인트를 사용하십시오. |## 이전 워크플로1) 이력, 프로필, 얼굴, 목록, 거래, 규칙 중 무엇을 가져올지 결정하십시오.
2) 기존 제공업체에서 데이터를 직접 내보내십시오. 기존 제공업체의 API 키는 Didit에 보내지 마십시오.
3) 제공업체 내보내기 데이터를 해당하는 Didit 표준 CSV 또는 NDJSON 템플릿으로 변환하십시오.
4) 대규모 이전에는 NDJSON을 사용하고, 각각 독립적으로 재시도할 수 있는 파일로 나누십시오.
5) 가져오기 작업을 생성하고 진행 상황을 확인하십시오.
6) 행 오류를 조회하고, 실패한 행만 수정한 뒤 재시도하십시오. 모든 가져오기 작업은 자연 키인 외부 ID를 기준으로 멱등성이 보장됩니다.## 가져오기 작업 생성단일 multipart 요청으로 가져오기 작업을 생성하십시오:```bash theme={null}
curl -X POST https://verification.didit.me/v3/session/imports/ \
  -H "x-api-key: YOUR_API_KEY" \
  -F "import_type=user_verification" \
  -F "workflow_id=YOUR_KYC_WORKFLOW_ID" \
  -F "file=@didit-import.ndjson"
```소규모 스프레드시트 기반 이전에는 CSV를, 대규모 이전에는 NDJSON을 사용하십시오. 100k+ 행이라면 NDJSON이 스트리밍, 분할, 검증, 재시도에 더 편리합니다.애플리케이션당 최대 4개의 가져오기 작업을 동시에 실행할 수 있으므로, 대규모 이전은 여러 파일로 나누고 파일마다 작업을 시작하십시오. 각 작업은 행의 미디어 파일을 병렬로 내려받습니다. 배포나 워커 재시작으로 중단된 작업은 마지막으로 가져온 행부터 자동으로 이어서 진행되므로, 직접 다시 시작할 필요가 없습니다.거래 가져오기의 경우 `workflow_id`를 생략하십시오:```bash theme={null}
curl -X POST https://verification.didit.me/v3/session/imports/ \
  -H "x-api-key: YOUR_API_KEY" \
  -F "import_type=transactions" \
  -F "file=@didit-transactions.ndjson"
```### 요청 필드| 필드 | 필수 여부 | 설명 |
| - | - | - |
| `import_type` | 아니요, 기본값은 `user_verification` | `user_verification`, `business_verification`, `status_rules`, `transactions` 중 하나입니다. |
| `workflow_id` | 예, `transactions`를 제외합니다 | 가져온 기록이 연결될 워크플로의 UUID입니다. `user_verification`과 `status_rules`에는 사용자 인증 워크플로가 필요하며, `business_verification`에는 기업 확인(KYB) 워크플로가 필요합니다. |
| `file` | `file` 또는 `source_file_url` 중 하나 | 인라인으로 업로드하는 표준 CSV 또는 NDJSON 파일입니다. |
| `source_file_url` | `file` 또는 `source_file_url` 중 하나 | Didit이 파일을 내려받는 HTTPS URL입니다. 사설 네트워크 URL은 거부됩니다. |
| `source_format` | 아니요 | `csv` 또는 `ndjson`입니다. 생략하면 파일 확장자에서 추론합니다. |### 기록 추적 및 중복 제거 방식데이터 소스를 지정하는 요청 필드는 없습니다. 모든 가져오기는 Didit의 표준 스키마를 사용합니다. 가져온 각 기록은 추적을 위해 `metadata.imported_from = "generic"`을 저장합니다.`user_verification`과 `business_verification` 가져오기는 애플리케이션 내에서 `external_id`를 기준으로 행의 중복을 제거하므로, 같은 파일을 다시 시도해도 중복이 생기지 않습니다. `transactions` 가져오기는 대신 `transaction_id`를 기준으로 중복을 제거합니다.제공업체 이전(`source=provider`)은 각 기록을 `<provider>:<id>` 형식으로 저장합니다. 예를 들어 `sumsub:5f8c0e2a9b1d4c3e2f1a0b9c`와 같습니다. 제공업체의 순수 ID(`5f8c0e2a9b1d4c3e2f1a0b9c`)를 전송한 사용자 인증 파일 가져오기는 두 방향 모두에서 같은 기록으로 인식됩니다. 따라서 파일로 이전을 시작하고 제공업체 이전으로 마무리하거나, 그 반대로 진행해도 기록이 두 번 가져와지지 않습니다.## 문서 사진, 영상, 셀피 증거 가져오기`import_type=user_verification`의 경우, 이전 제공업체의 원본 문서 사진, 문서/라이브니스 촬영 영상, 셀피 이미지를 가져올 수 있습니다.다음 표준 열을 사용합니다:| 증거 | 기본 열 | 소규모 가져오기 대체 열 | Didit에 저장되는 위치 |
| - | - | - | - |
| 문서 앞면 이미지 | `document_front_url` | `document_front_base64` | 신분증 인증 OCR 앞면 이미지 |
| 문서 뒷면 이미지 | `document_back_url` | `document_back_base64` | 신분증 인증 OCR 뒷면 이미지 |
| 셀피 / 라이브니스 이미지 | `selfie_url` | `selfie_base64` | 얼굴/라이브니스 참조 이미지 |
| 문서 앞면 영상 | `document_front_video_url` | URL만 | 신분증 인증 OCR 앞면 영상 |
| 문서 뒷면 영상 | `document_back_video_url` | URL만 | 신분증 인증 OCR 뒷면 영상 |
| 라이브니스 영상 | `liveness_video_url` | URL만 | 얼굴/라이브니스 촬영 영상 |대용량 마이그레이션에는 **HTTPS URL**을 사용합니다. Didit은 각 파일을 다운로드하고, URL이 안전한지 검증한 뒤, Didit이 소유하는 사본을 저장하고 이를 가져온 세션에 연결합니다. 이미지는 압축되고, 영상은 원본 그대로 저장됩니다. 소규모 가져오기에서는 이미지에 한해 base64 인라인 전달을 허용하지만, **영상은 반드시 URL로 제공해야 합니다**. base64를 사용하면 각 영상의 크기가 약 33% 늘어나 파일당 가져오기 한도를 쉽게 초과하기 때문입니다.제공업체가 호스팅하는 미디어 URL이 포함된 NDJSON 행 예시:```json theme={null}
{
  "external_id": "applicant-123",
  "vendor_data": "user-42",
  "created_at": "2025-01-12T10:30:00Z",
  "status": "Approved",
  "email": "user@example.com",
  "phone": "+34687020083",
  "first_name": "Jane",
  "last_name": "Doe",
  "date_of_birth": "1990-05-15",
  "document_type": "P",
  "issuing_state": "USA",
  "document_number": "123456789",
  "expiration_date": "2030-01-15",
  "document_front_url": "https://provider-export.example.com/files/applicant-123-front.jpg",
  "document_back_url": "https://provider-export.example.com/files/applicant-123-back.jpg",
  "selfie_url": "https://provider-export.example.com/files/applicant-123-selfie.jpg",
  "document_front_video_url": "https://provider-export.example.com/files/applicant-123-front.webm",
  "document_back_video_url": "https://provider-export.example.com/files/applicant-123-back.webm",
  "liveness_video_url": "https://provider-export.example.com/files/applicant-123-liveness.mp4",
  "reject_reasons_json": "[]",
  "provider_metadata_json": "{\"source\":\"sumsub-export\"}"
}
```중요한 미디어 규칙:- URL은 `https`를 사용해야 합니다.
- URL은 사설 IP, localhost, 링크 로컬 범위, 내부 메타데이터 호스트로 해석되면 안 됩니다.
- 이미지는 URL 열 또는 해당하는 `*_base64` 대체 열 중 하나를 사용할 수 있습니다. 둘 다 설정된 경우 base64가 우선합니다. 영상은 URL만 사용할 수 있으며 `*_video_base64` 열은 없습니다.
- 영상은 `mp4`, `webm`, `mov` 형식이어야 하며, 각 영상은 최대 **10 MB**까지 가능합니다. 더 크거나 영상이 아닌 파일은 행 오류로 거부됩니다.
- Didit은 연결/읽기 시간 제한과 최대 파일 크기를 적용하고, 무한 재시도를 방지합니다.
- 미디어 다운로드 실패는 행 오류로 저장되므로 나머지 가져오기는 계속 진행됩니다.
- 제공업체에 미디어가 없다면 이 열들을 비워 둡니다. Didit은 여전히 구조화된 결정 및 문서 필드를 가져옵니다.
- 가져온 이미지와 영상은 과거 검토를 위한 증거입니다. Didit은 기본적으로 가져온 과거 미디어에 대해 OCR, 라이브니스, 문서 위조 분석을 다시 실행하지 않습니다.

사용자 인증 가져오기 프롬프트
        프롬프트를 클립보드에 복사



      
      

\<pre>

\`You are helping migrate historical User Verification (KYC) sessions into Didit.

Goal:
Transform the customer's Sumsub, MetaMap, or provider export into Didit's canonical verification import file, then call Didit's import API.

Didit API:
\- Create import job: POST https://verification.didit.me/v3/session/imports/
\- Poll job: GET https://verification.didit.me/v3/session/imports/{import_id}/
\- Read row errors: GET https://verification.didit.me/v3/session/imports/{import_id}/errors/
\- Download template: GET https://verification.didit.me/v3/session/imports/template/?import_type=user_verification
\- Authenticate with x-api-key: <DIDIT_API_KEY>

Inputs you need:
\- DIDIT_API_KEY
\- DIDIT_WORKFLOW_ID for a User Verification workflow
\- Provider export file or API output

Canonical columns:
external_id, vendor_data, created_at, status, email, phone, first_name, last_name, date_of_birth, gender, nationality, document_type, issuing_state, document_number, personal_number, expiration_date, document_front_url, document_back_url, selfie_url, document_front_base64, document_back_base64, selfie_base64, document_front_video_url, document_back_video_url, liveness_video_url, is_blocklisted, reject_reasons_json, tags, provider_metadata_json

Rules:
\- phone is optional and accepts international format (for example +34687020083); it is stored on the imported session.
\- external_id must be the provider's unique verification/applicant id.
\- vendor_data must be the customer's stable user id. If absent, use the provider identity/user id.
\- status must be Approved, Declined, In Review, or Expired.
\- date_of_birth and expiration_date must use YYYY-MM-DD.
\- created_at must be ISO 8601.
\- nationality and issuing_state must be ISO-3166 alpha-3, for example USA, ESP, BRA.
\- document_type must use Didit codes: P, ID, DL, RP, SSC, HIC, WP, TC, VISA, PSC, BC, OTHER.
\- reject_reasons_json must be a JSON array. provider_metadata_json must be a JSON object.
\- Use document_front_url, document_back_url, and selfie_url when the provider can export evidence images. Use HTTPS media URLs for large imports. Avoid inline base64 unless the import is small.
\- Use document_front_video_url, document_back_video_url, and liveness_video_url to import capture videos. Videos must be mp4, webm, or mov and at most 10 MB each; otherwise the row is rejected.
\- If only one document side exists, fill document_front_url and leave document_back_url empty.
\- Never call the import API with provider credentials. The customer downloads provider data themselves.
\- The import is idempotent by external_id inside one Didit application, so retries are safe.

Steps:
1\. Inspect the provider export schema.
2\. Map each provider row to the canonical fields.
3\. Write NDJSON for large files; one JSON object per line.
4\. Validate the first 10 rows locally before uploading.
5\. Create an import job:
curl -X POST https://verification.didit.me/v3/session/imports/ \
-H "x-api-key: $DIDIT_API_KEY" \
-F "import_type=user_verification" \
-F "workflow_id=$DIDIT_WORKFLOW_ID" \
-F "file=@didit-import.ndjson"
6\. Poll until status is COMPLETED or FAILED.
7\. If failed_count is greater than 0, fetch /errors/ and produce a corrected file containing only failed rows.

Output:
\- A canonical CSV or NDJSON file ready for Didit.
\- The curl command used to create the import job.
\- The import_id and polling command.
\- A short summary of created, skipped, and failed rows.`

\</pre>



      
      

붙여넣을 곳



기업 확인(KYB) 가져오기 프롬프트
        프롬프트를 클립보드에 복사



      
      

\<pre>

\`You are helping migrate historical Business Verification (KYB) sessions into Didit.

Goal:
Transform the customer's KYB provider export into Didit's canonical business verification import file, then call Didit's import API.

Didit API:
\- Create import job: POST https://verification.didit.me/v3/session/imports/
\- Poll job: GET https://verification.didit.me/v3/session/imports/{import_id}/
\- Read row errors: GET https://verification.didit.me/v3/session/imports/{import_id}/errors/
\- Download template: GET https://verification.didit.me/v3/session/imports/template/?import_type=business_verification
\- Authenticate with x-api-key: <DIDIT_API_KEY>

Inputs you need:
\- DIDIT_API_KEY
\- DIDIT_WORKFLOW_ID for a Business Verification workflow
\- Provider export file or API output

Canonical business columns:
external_id, vendor_data, created_at, status, company_name, registration_number, country_code, registry_status, verification_status, company_type, tax_number, risk_level, incorporation_date, registered_address, is_from_registry, officers_json, beneficial_owners_json, provider_metadata_json, tags

Rules:
\- external_id must be the provider's unique business verification id.
\- vendor_data must be the customer's stable business id.
\- status must be Approved, Declined, In Review, or Expired.
\- country_code must be ISO-3166 alpha-3.
\- officers_json and beneficial_owners_json must be JSON arrays of objects.
\- provider_metadata_json must be a JSON object.
\- The import is idempotent by external_id inside one Didit application.

Create an import job:
curl -X POST https://verification.didit.me/v3/session/imports/ \
-H "x-api-key: $DIDIT_API_KEY" \
-F "import_type=business_verification" \
-F "workflow_id=$DIDIT_WORKFLOW_ID" \
-F "file=@didit-business-import.ndjson"

Output:
\- A canonical CSV or NDJSON file ready for Didit.
\- The curl command used to create the import job.
\- The import_id and polling command.
\- A short summary of created, skipped, and failed rows.`

\</pre>



      
      

붙여넣을 곳



커스텀 상태 규칙 가져오기 프롬프트
        프롬프트를 클립보드에 복사



      
      

\<pre>

\`You are helping import custom status rules into a Didit workflow.

Goal:
Transform the customer's policy spreadsheet into Didit's feature_status_rules format, then call Didit's import API.

Didit API:
\- Create import job: POST https://verification.didit.me/v3/session/imports/
\- Poll job: GET https://verification.didit.me/v3/session/imports/{import_id}/
\- Read row errors: GET https://verification.didit.me/v3/session/imports/{import_id}/errors/
\- Download template: GET https://verification.didit.me/v3/session/imports/template/?import_type=status_rules
\- Authenticate with x-api-key: <DIDIT_API_KEY>

Inputs you need:
\- DIDIT_API_KEY
\- DIDIT_WORKFLOW_ID for the workflow to update
\- A policy spreadsheet or JSON policy definition

Canonical status-rule columns:
feature, rules_json, mode

Rules:
\- feature must be a Didit feature key such as OCR, LIVENESS, FACE_MATCH, AML, KYB_REGISTRY, KYB_DOCUMENTS, or KYB_KEY_PEOPLE.
\- rules_json must be a JSON array of rule objects.
\- Each rule needs field, operator, status, and usually value.
\- mode is replace or append. Default is replace.
\- Do not reference status fields such as kyc.status; status rules compute status and must use other report fields.

Example rules_json:
\[{"field":"kyc.issuing_state","operator":"in","value":["VEN","IRN"],"status":"In Review"}]

Create an import job:
curl -X POST https://verification.didit.me/v3/session/imports/ \
-H "x-api-key: $DIDIT_API_KEY" \
-F "import_type=status_rules" \
-F "workflow_id=$DIDIT_WORKFLOW_ID" \
-F "file=@didit-status-rules.csv"

Output:
\- A canonical CSV or NDJSON file ready for Didit.
\- The curl command used to create the import job.
\- The import_id and polling command.
\- A summary of updated and failed rule rows.`

\</pre>



      
      

붙여넣을 곳



거래 가져오기 프롬프트
        프롬프트를 클립보드에 복사



      
      

\<pre>

\`You are helping migrate historical transaction monitoring records into Didit.

Goal:
Transform the customer's legacy transaction monitoring export into Didit's canonical transaction import file, then call Didit's import API.

Didit API:
\- Create import job: POST https://verification.didit.me/v3/session/imports/
\- Poll job: GET https://verification.didit.me/v3/session/imports/{import_id}/
\- Read row errors: GET https://verification.didit.me/v3/session/imports/{import_id}/errors/
\- Download template: GET https://verification.didit.me/v3/session/imports/template/?import_type=transactions
\- Authenticate with x-api-key: <DIDIT_API_KEY>

Inputs you need:
\- DIDIT_API_KEY
\- A transaction export file or API output

Canonical transaction columns:
transaction_id, transaction_at, transaction_category, direction, amount, currency, currency_kind, amount_in_default_currency, default_currency, payment_details, payment_reference_id, action_type, status, score, severity, subject_json, counterparty_json, custom_properties_json, provider_results_json, travel_rule_json, network_snapshot_json, metadata_json

Rules:
\- transaction_id is required and is idempotent per Didit application.
\- transaction_category must be one of Didit's transaction categories, for example finance, kyc, travelRule, userPlatformEvent, gamblingBet, gamblingLimitChange, gamblingBonusChange, or auditTrailEvent.
\- direction must be INBOUND or OUTBOUND.
\- status must be APPROVED, IN_REVIEW, DECLINED, or AWAITING_USER.
\- subject_json must include vendor_data and full_name.
\- counterparty_json is optional but should be included when the legacy provider has it.
\- provider_results_json must be a JSON array.
\- travel_rule_json, network_snapshot_json, custom_properties_json, and metadata_json must be JSON objects when present.

Create an import job:
curl -X POST https://verification.didit.me/v3/session/imports/ \
-H "x-api-key: $DIDIT_API_KEY" \
-F "import_type=transactions" \
-F "file=@didit-transactions.ndjson"

Output:
\- A canonical CSV or NDJSON file ready for Didit.
\- The curl command used to create the import job.
\- The import_id and polling command.
\- A summary of created, skipped, and failed transaction rows.`

\</pre>



      
      

붙여넣을 곳

## 진행 상황 조회```bash theme={null}
curl https://verification.didit.me/v3/session/imports/IMPORT_ID/ \
  -H "x-api-key: YOUR_API_KEY"
```응답에는 `status`, `import_type`, `total_rows`, `processed_rows`, `created_count`, `updated_count`, `skipped_count`, `failed_count`, `checkpoint_row`가 포함됩니다.## 행 오류 다운로드```bash theme={null}
curl https://verification.didit.me/v3/session/imports/IMPORT_ID/errors/ \
  -H "x-api-key: YOUR_API_KEY"
```각 오류에는 `row_number`, `external_id`, `error`, `raw_row`가 포함되므로, 실패한 행만 수정하고 재시도할 수 있습니다.## 남용 방지`POST /v3/session/imports/`를 통한 과거 데이터 가져오기 작업은 기본적으로 비활성화되어 있습니다. Didit은 이러한 작업이 수백만 행을 처리하고 미디어를 다운로드할 수 있기 때문에, 검토 후 조직 단위로 이 기능을 활성화합니다. 이 가이드의 일반 운영 데이터 가져오기, 즉 사용자 생성, 기업 생성, 프로필 얼굴 업로드, 얼굴 차단 목록 업로드, 목록 항목 추가는 해당 엔드포인트의 일반 API 키 권한, 제품 제공 여부, 속도 제한 외에 별도의 마이그레이션 활성화가 필요하지 않습니다.과거 데이터 가져오기 작업은 또한 격리된 워커에서 실행되며, 파일 크기 제한, 행 처리 한도, HTTPS 전용 미디어 URL, 비공개 네트워크 URL 차단, 애플리케이션당 활성 가져오기 작업 4개 제한, 행별 오류 기록이 적용됩니다.## 표준 상태| 제공업체 결과 | Didit 상태 |
| - | - |
| 승인됨 / Green / 인증됨 | `Approved` |
| 거부됨 / Red / 반려됨 | `Declined` |
| 수동 검토 / 대기 중 / 검토 필요 | `In Review` |
| 미완료 / 초기화 / 알 수 없는 과거 행 | `Expired` |## 멱등성Didit은 사용자 인증 및 기업 확인(KYB) 가져오기에서 `external_id`를 가져오기 멱등성 키로 사용하며, 이는 애플리케이션 단위로 범위가 지정됩니다. 거래 가져오기는 애플리케이션별 `transaction_id`를 사용합니다. 같은 파일을 다시 시도하면 이미 가져온 행은 건너뛰고, 아직 처리되지 않은 행은 새로 생성합니다.## 사용자, 프로필 얼굴, 차단 목록 가져오기완료된 인증 세션을 다시 만들지 않는 경우에는 다음 경로를 사용합니다.### 사용자 프로필 가져오기[`POST /v3/users/create/`](https://docs.didit.me/ko/management-api/users/create) 또는 [사용자 가져오기 및 내보내기](https://docs.didit.me/ko/entities/users/import-export.md)의 Business Console CSV 가져오기로 사용자를 생성합니다. 이 작업은 `VendorUser` 프로필만 생성하거나 업데이트합니다. 인증 세션, KYC 결정, 문서 보고서, 경고, webhook 기록은 생성하지 않습니다.Didit이 향후 검사 전에 고객의 존재를 알아야 하거나 `display_name`, 태그, 메타데이터처럼 CRM과 유사한 필드를 나중에 채워 넣어야 할 때 이 방법을 사용합니다.### 신뢰할 수 있는 프로필 얼굴 업로드사용자가 생성된 후에는 [`POST /v3/organization/{organization_id}/application/{application_id}/vendor-users/by-id/{didit_internal_id}/faces/upload/`](https://docs.didit.me/ko/management-api/users/upload-face)를 사용하여 신뢰할 수 있는 프로필 얼굴을 업로드합니다. 이 작업은 생체 증거를 사용자 프로필에 연결하고 중복 감지와 얼굴 검색을 위해 색인합니다.이 작업은 얼굴을 차단 목록에 **추가하지 않습니다**. 이전 KYC 제공업체의 신뢰할 수 있는 프로필 이미지가 있고 향후 Didit 검사에서 이를 비교 대상으로 사용하려는 경우에 유용합니다.### 얼굴 차단 목록 및 허용 목록 가져오기얼굴을 직접 차단하거나 허용하려면 얼굴 유형 목록과 함께 [`POST /v3/lists/{list_uuid}/entries/face-upload/`](https://docs.didit.me/ko/management-api/lists/upload-face)를 사용합니다. Didit이 생체 임베딩을 추출하고 목록 항목을 저장합니다.알려진 사기꾼의 이미지, 허용 목록에 추가할 신뢰할 수 있는 얼굴, 또는 제공업체 사기 목록 마이그레이션에 이 방법을 사용합니다. 얼굴이 기존 Didit 세션에서 온 경우에는 `reference_session_id`와 함께 [`POST /v3/lists/{list_uuid}/entries/`](https://docs.didit.me/ko/management-api/lists/create-entry)를 사용하는 것이 좋습니다. 이 경우 Didit이 세션에서 올바른 얼굴을 추출하고 항목을 원본에 다시 연결합니다.### 사용자, 기업, 문서, 지갑, 이메일, 전화번호, IP, 기기 목록 가져오기얼굴이 아닌 목록 값에는 [`POST /v3/lists/{list_uuid}/entries/`](https://docs.didit.me/ko/management-api/lists/create-entry)를 사용합니다. 제공업체 차단 목록, 허용 목록, 차지백 목록, 지갑 주소, 알려진 위험 IP, 기기 지문, 문서 번호, 이메일, 전화번호, 사용자 또는 기업을 가져올 때 적합한 경로입니다.## 다음 단계> [card] [사용자 가져오기](https://docs.didit.me/ko/entities/users/import-export.md)
>
> 사용자 프로필을 불러오고 신뢰할 수 있는 프로필 얼굴을 연결합니다.> [card] [기업 가져오기](https://docs.didit.me/ko/entities/businesses/import-export.md)
>
> KYB를 실행하기 전에 기업 프로필을 불러옵니다.> [card] [프로필 얼굴 업로드](https://docs.didit.me/ko/management-api/users/upload-face.md)
>
> 가져온 사용자에게 신뢰할 수 있는 얼굴 이미지를 연결합니다.> [card] [목록에 얼굴 업로드](https://docs.didit.me/ko/management-api/lists/upload-face.md)
>
> 차단 목록 또는 허용 목록에 얼굴을 추가합니다.> [card] [목록 항목 생성](https://docs.didit.me/ko/management-api/lists/create-entry.md)
>
> 전화번호, 이메일, 지갑, 문서, IP, 기기, 사용자 또는 기업을 목록으로 가져옵니다.> [card] [속도 제한](https://docs.didit.me/ko/integration/rate-limiting.md)
>
> 안전한 마이그레이션 루프와 재시도를 설계합니다.


## OpenAPI

````yaml ko/openapi-25.json POST /v3/session/imports/
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/session/imports/:
    post:
      tags:
        - Sessions
      summary: 인증 가져오기 작업 생성
      description: >-
        과거 사용자 인증 세션, 기업 확인(KYB) 세션, 거래 모니터링 기록 또는 워크플로 커스텀 상태 규칙에 대한 비동기 가져오기
        작업을 생성합니다. 다른 제공업체에서 이전하려면 `source=provider`로 설정하세요. Didit은 읽기 전용 키를
        사용하여 Sumsub, Onfido, Persona 및 ComplyCube를 읽고, `file`에 업로드한 ID를 통해
        Veriff, iDenfy 및 MetaMap 기록을 읽으며, 그 외 제공업체에 대해서는 Didit 형식의 내보내기 파일을
        가져옵니다. 기록 ID에는 제공업체별 네임스페이스(`sumsub:<id>`)가 지정되므로 재실행 시 Didit에 이미 존재하는
        모든 항목을 건너뛰며, 제공업체의 순수 ID가 포함된 파일을 통해 가져온 기록도 양방향으로 인식되므로 파일 가져오기와 제공업체
        마이그레이션 간을 전환해도 기록이 중복으로 가져와지지 않습니다. 애플리케이션은 한 번에 최대 4개의 가져오기 작업을 실행할 수
        있으며, 배포나 워커 재시작으로 인해 중단된 작업은 마지막으로 가져온 행부터 자동으로 계속 진행됩니다. 가져오기는 기본적으로
        비활성화되어 있으며 Didit에서 조직별로 활성화해야 합니다.
      operationId: post_v3_session_imports_create
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                import_type:
                  type: string
                  enum:
                    - user_verification
                    - business_verification
                    - status_rules
                    - transactions
                  default: user_verification
                  description: >-
                    가져올 항목: 이전 사용자 인증 세션, 이전 기업 확인 세션, 워크플로 커스텀 상태 규칙, 또는 이전 거래
                    모니터링 기록.
                workflow_id:
                  type: string
                  format: uuid
                  description: >-
                    가져온 세션이나 상태 규칙을 연결할 워크플로 UUID입니다. user_verification,
                    business_verification, status_rules의 경우 필수입니다.
                    거래(transactions)의 경우 생략합니다.
                source_format:
                  type: string
                  enum:
                    - csv
                    - ndjson
                  description: 선택 사항입니다. 생략 시 업로드된 파일 확장자에서 유추됩니다.
                file:
                  type: string
                  format: binary
                  description: >-
                    표준 CSV 또는 NDJSON 파일입니다. 대용량 가져오기에는 NDJSON을 사용하십시오. 최대 업로드
                    크기는 25MB입니다(더 큰 파일에는 `source_file_url` 사용).
                    `source_file_url`과 상호 배타적입니다.
                source_file_url:
                  type: string
                  format: uri
                  description: >-
                    파일 업로드의 대안입니다. 공인 주소로 확인되는 HTTPS URL이어야 합니다(사설/루프백 네트워크는
                    거부됨). `file`과 상호 배타적입니다.
                source:
                  type: string
                  enum:
                    - file
                    - provider
                  description: >-
                    `provider`는 다른 신분증 인증 공급자로부터의 마이그레이션을 의미합니다. 파일 가져오기의 경우
                    생략하십시오.
                provider:
                  type: string
                  enum:
                    - sumsub
                    - jumio
                    - veriff
                    - onfido
                    - persona
                    - metamap
                    - socure
                    - idnow
                    - shufti
                    - idenfy
                    - ondato
                    - trulioo
                    - au10tix
                    - complycube
                    - other
                  description: >-
                    `GET /v3/session/imports/providers/`에서 가져온 마이그레이션 소스입니다.
                    `source`가 `provider`인 경우 필수입니다.
                credentials:
                  type: object
                  additionalProperties:
                    type: string
                  description: >-
                    `credential_fields`에 나열된 필드 이름을 포함하는 공급자의 읽기 전용 키입니다. 저장 시
                    암호화되고, 반환되지 않으며, 가져오기가 끝나면 삭제됩니다. multipart에서 JSON 문자열로
                    전송하십시오.
                options:
                  type: object
                  properties:
                    region:
                      type: string
                      description: '해당 `regions` 중 하나인 공급자 리전입니다(Onfido: `eu`, `us`, `ca`).'
                status_mapping:
                  type: object
                  additionalProperties:
                    type: string
                    enum:
                      - Approved
                      - Declined
                      - In Review
                      - Expired
                      - Not Finished
                      - Abandoned
                  description: >-
                    제공업체의 기본 상태 매핑(소스 상태에서 Didit 상태로)을 수정합니다. `Not Finished` 및
                    `Abandoned`는 건너뛰고 카운트되며 가져오지 않습니다.
                dry_run:
                  type: boolean
                  default: false
                  description: >-
                    마이그레이션 시 가져올 대상을 계산하고(상태별, 이미 Didit에 존재함, 동일인, 완료되지 않음) 아무것도
                    기록하지 않습니다. 작업은 `READY` 상태로 종료되며, `POST
                    /v3/session/imports/{importId}/start/`로 시작합니다.
                face_templates:
                  type: boolean
                  default: false
                  description: >-
                    가져온 셀피로 얼굴 템플릿을 생성하고 애플리케이션의 얼굴 및 차단 목록과 대조하여 검색합니다. 일치 항목은
                    검토용으로만 플래그가 지정됩니다. `lawful_basis_confirmed`가 필요합니다.
                lawful_basis_confirmed:
                  type: boolean
                  default: false
                  description: 처리자로서 Didit과 해당 셀피를 공유할 수 있는 적법한 근거가 있음을 확인합니다.
          application/json:
            schema:
              type: object
              required:
                - source_file_url
              properties:
                import_type:
                  type: string
                  enum:
                    - user_verification
                    - business_verification
                    - status_rules
                    - transactions
                  default: user_verification
                  description: >-
                    가져올 항목: 이전 사용자 인증 세션, 이전 기업 확인 세션, 워크플로 커스텀 상태 규칙, 또는 이전 거래
                    모니터링 기록.
                workflow_id:
                  type: string
                  format: uuid
                  description: >-
                    가져온 세션이나 상태 규칙을 연결할 워크플로 UUID입니다. user_verification,
                    business_verification, status_rules의 경우 필수입니다.
                    거래(transactions)의 경우 생략합니다.
                source_format:
                  type: string
                  enum:
                    - csv
                    - ndjson
                  description: 선택 사항입니다. 생략 시 URL의 파일 확장자에서 유추됩니다.
                source_file_url:
                  type: string
                  format: uri
                  description: >-
                    파일 업로드의 대안입니다. 공인 주소로 확인되는 HTTPS URL이어야 합니다(사설/루프백 네트워크는
                    거부됨). `file`과 상호 배타적입니다.
                source:
                  type: string
                  enum:
                    - file
                    - provider
                  description: >-
                    `provider`는 다른 신분증 인증 공급자로부터의 마이그레이션을 의미합니다. 파일 가져오기의 경우
                    생략하십시오.
                provider:
                  type: string
                  enum:
                    - sumsub
                    - jumio
                    - veriff
                    - onfido
                    - persona
                    - metamap
                    - socure
                    - idnow
                    - shufti
                    - idenfy
                    - ondato
                    - trulioo
                    - au10tix
                    - complycube
                    - other
                  description: >-
                    `GET /v3/session/imports/providers/`에서 가져온 마이그레이션 소스입니다.
                    `source`가 `provider`인 경우 필수입니다.
                credentials:
                  type: object
                  additionalProperties:
                    type: string
                  description: >-
                    `credential_fields`에 나열된 필드 이름을 포함하는 공급자의 읽기 전용 키입니다. 저장 시
                    암호화되고, 반환되지 않으며, 가져오기가 끝나면 삭제됩니다. multipart에서 JSON 문자열로
                    전송하십시오.
                options:
                  type: object
                  properties:
                    region:
                      type: string
                      description: '해당 `regions` 중 하나인 공급자 리전입니다(Onfido: `eu`, `us`, `ca`).'
                status_mapping:
                  type: object
                  additionalProperties:
                    type: string
                    enum:
                      - Approved
                      - Declined
                      - In Review
                      - Expired
                      - Not Finished
                      - Abandoned
                  description: >-
                    제공업체의 기본 상태 매핑(소스 상태에서 Didit 상태로)을 수정합니다. `Not Finished` 및
                    `Abandoned`는 건너뛰고 카운트되며 가져오지 않습니다.
                dry_run:
                  type: boolean
                  default: false
                  description: >-
                    마이그레이션 시 가져올 대상을 계산하고(상태별, 이미 Didit에 존재함, 동일인, 완료되지 않음) 아무것도
                    기록하지 않습니다. 작업은 `READY` 상태로 종료되며, `POST
                    /v3/session/imports/{importId}/start/`로 시작합니다.
                face_templates:
                  type: boolean
                  default: false
                  description: >-
                    가져온 셀피로 얼굴 템플릿을 생성하고 애플리케이션의 얼굴 및 차단 목록과 대조하여 검색합니다. 일치 항목은
                    검토용으로만 플래그가 지정됩니다. `lawful_basis_confirmed`가 필요합니다.
                lawful_basis_confirmed:
                  type: boolean
                  default: false
                  description: 처리자로서 Didit과 해당 셀피를 공유할 수 있는 적법한 근거가 있음을 확인합니다.
            examples:
              URL-based import:
                value:
                  import_type: user_verification
                  workflow_id: 9f9b1234-aaaa-bbbb-cccc-1234567890ab
                  source_file_url: https://files.example.com/exports/sessions.ndjson
      responses:
        '201':
          description: >-
            가져오기 작업이 접수되었습니다. `status`가 `COMPLETED` 또는 `FAILED`가 될 때까지 반환된
            `uuid`를 폴링하십시오.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SessionImportJob'
              examples:
                Job accepted:
                  value:
                    uuid: 3f9c1a2b-4d5e-4f60-8a7b-9c0d1e2f3a4b
                    status: PENDING
                    import_type: user_verification
                    source_format: ndjson
                    source_filename: sessions.ndjson
                    total_rows: 0
                    processed_rows: 0
                    checkpoint_row: 0
                    created_count: 0
                    updated_count: 0
                    skipped_count: 0
                    failed_count: 0
                    total_media_bytes: 0
                    last_error: null
                    created_at: '2026-05-17T08:42:11Z'
                    updated_at: '2026-05-17T08:42:11Z'
                    started_at: null
                    completed_at: null
        '400':
          description: >-
            유효하지 않은 워크플로, 파일 형식, 파일 크기, 소스 URL 또는 선택기 조합입니다. 제공업체가 키를 거부한
            마이그레이션은 `code`(`invalid_credentials`, `missing_permission`,
            `wrong_region`, `provider_unavailable`, `rate_limited`,
            `ids_required`, `record_not_found`), `missing_permissions`,
            `suggested_region`으로 응답합니다.
          content:
            application/json:
              examples:
                Invalid workflow:
                  value:
                    workflow_id:
                      - Invalid workflow_id.
                Workflow required:
                  value:
                    workflow_id:
                      - This field is required for this import type.
                Wrong file type:
                  value:
                    file:
                      - Only CSV and NDJSON files are supported.
                File too large:
                  value:
                    file:
                      - Import file exceeds the maximum allowed size.
                No source:
                  value:
                    file:
                      - Upload a file or provide source_file_url.
                Both sources:
                  value:
                    file:
                      - Use either file or source_file_url, not both.
        '403':
          description: >-
            가져오기가 활성화되지 않았거나, 샌드박스 애플리케이션이거나, API 키가 누락되었습니다(잘못되었거나 취소되었거나 만료된
            키는 `401` 반환). 인증 가져오기는 기본적으로 비활성화되어 있으며 Didit에서 조직별로 활성화해야 합니다.
          content:
            application/json:
              examples:
                Imports not enabled:
                  value:
                    detail: >-
                      Verification imports are not enabled for this
                      organization.
                Sandbox:
                  value:
                    detail: >-
                      Verification imports are not enabled for sandbox
                      applications.
                Bad API key:
                  value:
                    detail: You do not have permission to perform this action.
        '429':
          description: >-
            애플리케이션에 이미 4개의 활성 가져오기 작업(PENDING/PROCESSING/PAUSED)이 있으며, 이는 동시에
            실행할 수 있는 최대 개수입니다. 다른 작업을 시작하기 전에 기존 작업 중 하나가 완료될 때까지 기다리십시오.
          content:
            application/json:
              examples:
                Active job:
                  value:
                    detail: >-
                      This application already has 4 active import jobs, the
                      most it can run at once. Wait for one to finish before
                      starting another.
      security:
        - ApiKeyAuth: []
      x-codeSamples:
        - lang: python
          label: Python
          source: |-
            from didit import Didit

            # Reads DIDIT_API_KEY.
            client = Didit()

            result = client.sessions.imports.create(
                import_type="user_verification",
                workflow_id="9f9b1234-aaaa-bbbb-cccc-1234567890ab",
                source_file_url="https://files.example.com/exports/sessions.ndjson",
            )
            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.sessions.imports.create({
              import_type: "user_verification",
              workflow_id: "9f9b1234-aaaa-bbbb-cccc-1234567890ab",
              source_file_url: "https://files.example.com/exports/sessions.ndjson",
            });
            console.log(result);
        - lang: go
          label: Go
          source: "ctx := context.Background()\n// Reads DIDIT_API_KEY.\nclient := didit.NewClient()\n\nresult, err := client.Sessions.Imports.Create(ctx, didit.SessionsImportsCreateParams{\n\tImportType:    didit.Some(didit.SessionsImportsCreateParamsImportType(\"user_verification\")),\n\tWorkflowID:    didit.String(\"9f9b1234-aaaa-bbbb-cccc-1234567890ab\"),\n\tSourceFileURL: didit.String(\"https://files.example.com/exports/sessions.ndjson\"),\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.SessionsImportsCreateParams;


            // Reads DIDIT_API_KEY.

            Didit client = new Didit();


            var result =
            client.sessions().imports().create(SessionsImportsCreateParams.builder()
                    .importType(SessionsImportsCreateParams.ImportType.of("user_verification"))
                    .workflowId("9f9b1234-aaaa-bbbb-cccc-1234567890ab")
                    .sourceFileUrl("https://files.example.com/exports/sessions.ndjson")
                    .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->sessions->imports->create([
                'import_type' => 'user_verification',
                'workflow_id' => '9f9b1234-aaaa-bbbb-cccc-1234567890ab',
                'source_file_url' => 'https://files.example.com/exports/sessions.ndjson',
            ]);
            print_r($result->toArray());
        - lang: ruby
          label: Ruby
          source: |-
            require "didit"

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

            result = didit.sessions.imports.create(
              import_type: "user_verification",
              workflow_id: "9f9b1234-aaaa-bbbb-cccc-1234567890ab",
              source_file_url: "https://files.example.com/exports/sessions.ndjson"
            )
            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.Sessions.Imports.CreateAsync(new
            SessionsImportsCreateParams

            {
                ImportType = new SessionsImportsCreateParamsImportType("user_verification"),
                WorkflowId = "9f9b1234-aaaa-bbbb-cccc-1234567890ab",
                SourceFileUrl = "https://files.example.com/exports/sessions.ndjson",
            });

            Console.WriteLine(JsonSerializer.Serialize(result));
components:
  schemas:
    SessionImportJob:
      type: object
      required:
        - uuid
        - status
        - import_type
        - source_format
        - source_filename
        - total_rows
        - processed_rows
        - created_count
        - updated_count
        - skipped_count
        - failed_count
      properties:
        uuid:
          type: string
          format: uuid
          description: 가져오기 작업 ID입니다. 이 값을 사용하여 진행 상황을 폴링하고 행 오류를 조회하십시오.
        status:
          type: string
          enum:
            - PENDING
            - PROCESSING
            - COMPLETED
            - FAILED
            - PAUSED
            - CANCELLED
            - READY
        import_type:
          type: string
          enum:
            - user_verification
            - business_verification
            - status_rules
            - transactions
        source_format:
          type: string
          enum:
            - csv
            - ndjson
        source_filename:
          type: string
        total_rows:
          type: integer
          format: int64
        processed_rows:
          type: integer
          format: int64
        checkpoint_row:
          type: integer
          format: int64
        created_count:
          type: integer
          format: int64
        updated_count:
          type: integer
          format: int64
        skipped_count:
          type: integer
          format: int64
        failed_count:
          type: integer
          format: int64
        total_media_bytes:
          type: integer
          format: int64
        last_error:
          type: string
          nullable: true
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
        started_at:
          type: string
          format: date-time
          nullable: true
        completed_at:
          type: string
          format: date-time
          nullable: true
        state:
          type: string
          enum:
            - ready
            - queued
            - running
            - paused
            - completed
            - errors
            - failed
            - cancelled
          description: 콘솔에 표시되는 작업 상태입니다. `errors`는 거부된 행이 포함된 완료된 작업입니다.
        source:
          type: string
          enum:
            - file
            - api
            - provider
        provider:
          type: string
          description: 마이그레이션 소스입니다. 파일 또는 API 가져오기의 경우 비어 있습니다.
        provider_options:
          type: object
        credential_hint:
          type: string
          description: 마이그레이션이 보유한 키의 첫 몇 글자입니다. 키 자체는 절대 반환되지 않습니다.
        credentials_expires_at:
          type: string
          format: date-time
          nullable: true
        resumes_at:
          type: string
          format: date-time
          nullable: true
          description: 제공업체의 속도 제한으로 인해 일시 중지된 작업이 자체적으로 재개된 시점입니다.
        status_mapping:
          type: object
          additionalProperties:
            type: string
        is_dry_run:
          type: boolean
        dry_run_summary:
          type: object
          description: >-
            시험 실행에서 발견된 내용: `total`, `by_status`, `already_in_didit`,
            `same_person`, `not_finished`, `failed`, `unmapped_statuses`입니다.
        face_templates_enabled:
          type: boolean
        lawful_basis_confirmed_at:
          type: string
          format: date-time
          nullable: true
        not_finished_count:
          type: integer
          format: int64
        same_person_count:
          type: integer
          format: int64
        face_templates_count:
          type: integer
          format: int64
        face_duplicates_count:
          type: integer
          format: int64
        face_blocklist_hits_count:
          type: integer
          format: int64
        created_by_name:
          type: string
          nullable: true
        created_by_email:
          type: string
          nullable: true
  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 를 참고하십시오.

````

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