> ## 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 키 범위 제한 - 제한된 KYC API 접근 권한

> Didit에서 서비스나 파트너마다 필요한 권한만 가진 전용 API 키를 발급하세요. 리소스별 읽기/쓰기, 워크플로 제한, IP 허용 목록, 만료 설정, 즉시 폐기를 지원합니다.



범위가 지정된 API 키 프롬프트
        프롬프트를 클립보드에 복사



      
      

\<pre>

\````# Goal - call Didit with a scoped API key

Every application has a primary secret with full access, and any number of named API keys.
A named key carries its own access: read or write per resource, optional limits, an optional IP allowlist and an optional expiry date.
Keys are created, edited, rotated and revoked in the Business Console (Developers -> API keys); there is no API to manage them.

\## Sending the key

\```bash
curl https://verification.didit.me/v3/session/$SESSION_ID/decision/ \
-H "x-api-key: $DIDIT_API_KEY"
\```

Read the key from an environment variable or a secrets manager, never from source code.

\## What each answer means

\| Status | Meaning |
\|---|---|
\| 401 | The key is missing, wrong, revoked or expired |
\| 403 | The key has no access to this resource or action, or the request came from an address outside its IP list |
\| 404 | The session is outside the key's workflows or statuses, so to this key it does not exist |

A key without media access receives decisions with every image, video and PDF URL set to null, and gets 403 on PDF reports.
A key without sessions write receives session_url and session_token as null.

\## Resources

sessions, decisions, media (read only), users, businesses, transactions, workflows, webhooks, applications, analytics (read only), api-keys.
Read covers GET requests, write covers POST, PUT, PATCH and DELETE.
Standalone checks (face match, ID verification, AML screening and the other /v3 standalone APIs) need sessions write.
Creating a person with send_verification_link: true (POST /v3/users/create/) needs users write and sessions write; without sessions write it answers 403 and nothing is created.

\## Limits

\- workflow_ids: only sessions of these workflows are visible, and sessions can only be created with them.
\- approved sessions only: declined, in-review and unfinished sessions are hidden.
\- A key with either limit cannot have access to users, businesses, transactions or analytics.

\## Rotation

Rotating a key returns a new secret once; the previous secret keeps working for 24 hours.````

\</pre>



      
      

붙여넣을 곳

모든 애플리케이션에는 애플리케이션이 수행할 수 있는 모든 작업에 대한 전체 액세스 권한을 가진 **기본 시크릿**이 있습니다.
기본 시크릿 옆에 서비스나 파트너별로 **이름이 지정된 API 키**를 하나씩 추가할 수 있으며, 각 키에는 필요한 액세스 권한만 부여할 수 있습니다.
지급 제공자에게는 하나의 워크플로에서 승인된 세션을 읽을 수만 있고 아무것도 변경할 수 없는 키를 주고, 백엔드용 키는 따로 보관하세요. 두 키 중 하나를 폐기해도 다른 키에는 영향을 주지 않습니다.> [!NOTE]
>
> 범위 지정 액세스가 도입되기 전에 생성된 키는 전체 액세스 권한을 계속 유지합니다.
> 액세스 권한을 수정하기 전까지는 이러한 키에 아무런 변화가 없습니다.***## 키 찾는 위치[**비즈니스 콘솔**](https://business.didit.me)에서 애플리케이션을 선택한 다음 **개발자 > API 키**를 엽니다.목록에는 애플리케이션의 모든 키가 상태, 지난 30일 동안의 요청 수, 생성자, 액세스 권한, 마지막 사용 시점과 함께 표시됩니다.
키를 클릭하면 오른쪽에서 미리 볼 수 있으며, 키의 전체 페이지를 열면 사용량, 액세스 권한, 최근 요청, 빠른 시작 스니펫, 활동 내역을 확인할 수 있습니다.키는 하나의 애플리케이션에 속하며 해당 애플리케이션에서만 작동합니다. 키는 애플리케이션의 환경을 따릅니다. 샌드박스 애플리케이션의 키로는 과금되는 인증이 생성되지 않습니다.***## 리디렉션 URL 및 허용 도메인**개발자 > API 키 > 리디렉션 및 도메인**을 열면 선택한 애플리케이션과 환경에 대해 두 가지 목록을 설정할 수 있습니다.| 목록 | 제어 대상 |
| - | - |
| **리디렉션 URL** | 호스팅 인증이 끝난 후 Didit이 브라우저를 보내는 위치입니다. URL은 경로를 포함하여 정확히 일치해야 합니다. |
| **허용 도메인** | 호스팅 인증 플로우를 삽입할 수 있고 사용자를 다시 보낼 수 있는 출처입니다. 스킴, 호스트, 선택적 포트로 구성되며(예: `https://app.example.com`) 입력합니다. |**허용 도메인** 목록에 항목이 있으면, [세션 생성](https://docs.didit.me/ko/sessions-api/create-session.md)은 목록에 없는 `callback`을 `400` 오류와 함께 거부합니다.
목록이 비어 있으면 제한이 없습니다.
서버 간 호출은 영향을 받지 않습니다.***## 키 생성**1. 세부 정보**키를 사용할 서비스의 이름으로 키 이름을 짓고 만료 시점을 선택합니다. 만료 없음, 30일, 90일, 1년 또는 직접 고른 날짜 중에서 고를 수 있습니다.
만료된 키는 해당 날짜가 끝나는 시점(UTC 기준)에 작동을 멈춥니다.**2. 접근**프리셋에서 시작한 다음 리소스별로 세부 조정합니다.
이 키는 여기서 설정한 범위를 넘어서는 작업을 절대 할 수 없습니다.**3. 검토**키를 배포하기 전에 콘솔이 키로 할 수 있는 작업과 할 수 없는 작업을 명확하게 보여 줍니다.**4. 시크릿 키**시크릿을 복사해 시크릿 관리 도구에 보관합니다.
전체 시크릿이 표시되는 시점은 이때뿐입니다.
시크릿을 잃어버렸다면 키를 교체하여 새 시크릿을 발급받으십시오.### 프리셋| 프리셋 | 접근 권한 |
| - | - |
| **전체 접근** | 다른 API 키를 포함한 모든 리소스에 대한 읽기 및 쓰기 권한입니다. 자체 백엔드용입니다. |
| **읽기 전용** | 세션과 결정을 읽을 수 있으며, 미디어는 선택 사항입니다. 아무것도 생성, 변경 또는 삭제할 수 없습니다. 결과가 필요한 파트너용입니다. |
| **사용자 지정** | 리소스마다 없음, 읽기, 쓰기 중에서 선택합니다. |### 리소스읽기는 리소스에 대한 `GET` 요청을 의미하며, 쓰기는 `POST`, `PUT`, `PATCH`, `DELETE` 요청도 포함합니다.| 리소스 | 읽기 | 쓰기 |
| - | - | - |
| **세션** | 세션 목록 조회 및 열기 | 세션 생성, 수정 및 삭제, 세션 가져오기, 단독 검사 실행(얼굴 대조, 신분증 인증, AML 스크리닝 및 기타 단독 API) |
| **결정** | 결과, 위험 점수, 추출된 데이터 및 AML 스크리닝 이력 | 승인, 거부 또는 검토 요청, 기능 및 AML 일치 항목 상태 변경 |
| **미디어** | 신분증 이미지, 셀피, 비디오 및 PDF 보고서 | - |
| **사용자** (`users`) | 최종 사용자 및 사용자에 대해 확인된 모든 정보 | 사용자 생성, 수정 및 삭제와 해당 모니터링. 인증 링크로 사용자를 생성하려면 **세션** 쓰기 권한도 필요합니다 |
| **기업** (`businesses`) | 기업 프로필, 해당 문서 및 소유자 | 기업 생성, 수정 및 삭제와 해당 모니터링 |
| **거래** | 거래, 알림, 규칙, 모니터링 이벤트, Travel Rule 데이터 및 지갑 스크리닝 | 거래 및 이벤트 전송, 상태 변경, Travel Rule 설정, 지갑 주소록 및 송금 관리 |
| **워크플로** | 워크플로, 설문지, 목록 및 차단 목록 | 생성 및 수정 |
| **webhook** | endpoint 및 전송 내역(전송 내역에는 전송된 세션 payload가 포함되므로 **결정** 읽기 권한도 필요합니다) | endpoint 추가, 수정 및 삭제, 전송 재전송 |
| **애플리케이션 설정** (`applications`) | 사용자 지정 설정 및 잔액 | 사용자 지정 설정 변경 및 잔액 충전 |
| **분석** | 지표 및 보고서 내보내기 | - |
| **API 키** | 키 관리 전용으로 예약됨 | 키 관리 전용으로 예약됨 |사용자 지정 접근 권한을 가진 키는 공개 API에서 작동합니다. 세션, 사용자, 기업, 거래, 워크플로, webhook endpoint와 단독 검사가 여기에 해당합니다.
Business Console에서만 사용하는 endpoint는 이 키에 `403`을 반환합니다. 이러한 endpoint에는 전체 접근 키가 필요합니다.**미디어** 읽기 권한이 없는 키도 세션 결정을 받지만, 모든 이미지, 비디오 및 PDF URL 값은 `null`로 설정됩니다. PDF 보고서 endpoint는 `403`을 반환합니다.
**세션** 쓰기 권한이 없는 키는 세션의 인증 링크나 세션 token을 절대 받지 못합니다. 이 링크나 token을 가진 사람은 최종 사용자를 대신해 인증을 완료할 수 있기 때문입니다. 해당 필드는 `null`로 반환됩니다.
같은 이유로 `send_verification_link: true`를 사용해 사용자를 생성하려면 **사용자** 쓰기 권한 외에 **세션** 쓰기 권한도 필요합니다. 이 호출은 세션을 생성하고 그 링크를 이메일로 보내기 때문입니다.
권한이 없으면 호출은 `403`을 반환하며 아무것도 생성되지 않습니다.### 제한| 제한 | 기능 |
| - | - |
| **워크플로** | 키는 선택한 워크플로의 세션만 보며, 해당 워크플로로만 세션을 생성할 수 있습니다. 그 밖의 세션은 존재하지 않는 것처럼 `404`를 반환합니다. |
| **승인된 세션만** | 거부됨, 검토 중 및 미완료 세션은 키에서 계속 숨겨집니다. |
| **IP 주소** | 키는 지정한 주소 또는 CIDR 범위(IPv4 또는 IPv6, 최대 20개)에서 온 요청에만 작동합니다. 그 밖의 주소에서 온 요청은 `403`을 반환합니다. |
| **만료** | 이 날짜 이후 키로 보내는 모든 요청은 `401`을 반환합니다. |워크플로나 승인된 세션으로 제한된 키는 세션 endpoint에서 작동하며, 이 제한을 적용할 수 있습니다.
사용자, 기업, 거래 또는 분석에는 접근할 수 없으며, 단독 검사도 실행할 수 없습니다.***## API가 범위 지정 키에 응답하는 방식| 상태 | 의미 |
| - | - |
| **401** | 키가 없거나, 잘못되었거나, 폐기되었거나, 만료되었습니다. |
| **403** | 키에 이 리소스나 작업에 대한 접근 권한이 없거나, 요청이 키의 IP 목록에 없는 주소에서 왔습니다. |
| **404** | 세션이 키의 워크플로 또는 상태 범위를 벗어납니다. |세션 목록에는 키의 제한이 허용하는 세션만 반환됩니다.***## 접근 권한 편집키의 메뉴, 미리보기 또는 페이지를 열고 **접근 권한 편집**을 선택합니다.
프리셋, 리소스, 제한 또는 만료를 변경한 다음, 변경되는 부분만 변경 전과 후를 비교하여 검토합니다.
시크릿은 그대로 유지되므로 재배포할 필요가 없으며, 새 접근 권한은 1분 이내에 적용됩니다.기본 시크릿은 항상 전체 접근 권한을 가지며 편집할 수 없습니다.***## 키 교체키를 교체하면 키의 시크릿이 바뀝니다.
새 시크릿은 한 번만 표시되며, 현재 시크릿은 **24시간** 동안 계속 작동하므로 다운타임 없이 새 시크릿을 배포할 수 있습니다.
그 이후에는 이전 시크릿으로 보낸 모든 요청이 `401`을 반환합니다.기본 시크릿도 같은 방식으로, 같은 24시간 중첩 기간을 두고 교체됩니다.***## 키 폐기키를 폐기하면 즉시 중단됩니다. 이 키로 보낸 모든 요청은 `401`을 반환합니다.
폐기는 되돌릴 수 없습니다.
기본 시크릿은 폐기할 수 없으며, 대신 교체해야 합니다.***## 사용량 및 감사 추적각 키는 지난 30일간의 요청, 오류율과 지연 시간, 그리고 최근 요청과 상태 코드를 보여 줍니다. 여기에는 제한에 의해 거부된 요청도 포함됩니다.API 키로 이루어진 모든 호출은 해당 호출을 수행한 키의 이름과 함께 조직의 [감사 로그](https://docs.didit.me/ko/console/audit-logs.md)에 표시됩니다.***## 누가 키를 관리할 수 있나요API 키를 관리하려면 **API keys** 권한이 필요합니다. 읽기 권한이면 키를 볼 수 있고, 쓰기 권한이면 키를 생성, 편집, 교체, 폐기할 수 있습니다.
자세한 내용은 [역할 및 권한](https://docs.didit.me/ko/console/roles-permissions.md)을 참조하세요.


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