API와 MCP로 화이트 라벨 팀 관리하기

범위가 지정된 REST 엔드포인트와 MCP 도구로 TrekMail 고객 초대, 도메인 접근 제어, 구성원 일시 중지와 복원, 화이트 라벨 활동 검토를 수행하세요.

문서 정보

유형, 난이도, 요금제, 최종 업데이트 정보입니다.

유형
참조 자료
난이도
중급
요금제
Pro · Agency · + White Label add-on
최종 업데이트
2026년 9월 9일

대시보드로 다시 전환하지 않고도 화이트 라벨 계정을 관리할 수 있습니다. REST API와 MCP 서버는 계정 설정 상태, 고객과 팀 구성원, 역할, 도메인 접근 권한, 초대, 일시 중지, 제거, 복원, 활동 기록을 지원합니다. 브랜딩은 동일한 화이트 라벨 도구 모음과 별도의 브랜딩 안내서에서 다룹니다.

중요한 경계는 간단합니다. 연결은 그 배후 사용자가 이미 가진 권한보다 더 많은 접근 권한을 부여할 수 없습니다. 특정 도메인으로 제한된 관리자는 관련 없는 도메인에 사용자를 초대할 수 없고, 사용자 지정 역할은 호출자에게 없는 권한을 부여할 수 없습니다.

사용 가능한 기능

전체 MCP 카탈로그에는 현재 stdio를 통한 261개 도구와 호스팅 HTTP를 통한 최대 260개 도구가 포함됩니다. 화이트 라벨은 20개 도구를 제공합니다. 브랜딩용은 일곱 개이고, 계정, 구성원, 활동 관리용은 13개입니다.

이 도구들은 모든 사용자에게 로드되지 않습니다. TrekMail은 tools/list를 구성하기 전에 계정의 현재 화이트 라벨 사용 권한, 사용자의 현재 구성원 자격, 토큰 또는 OAuth 권한 부여, 도메인 제한, 선택한 도구 모음, 로컬 안전 설정을 평가합니다. 화이트 라벨 접근 권한이 없는 연결에는 스키마 자체가 제공되지 않습니다.

사용 권한 상태

상태 소유자 위임된 구성원 쓰기
활성 범위에서 허용하는 전체 접근 범위와 구성원 자격에서 허용하는 접근 사용 가능
취소 유예 기간 읽기 전용 복구 접근 화이트 라벨 접근 권한 제거 차단
사용 불가 화이트 라벨 API 또는 MCP 접근 권한 없음 화이트 라벨 API 또는 MCP 접근 권한 없음 차단

화이트 라벨 읽기 권한이 있으면 GET /api/v1/white-label 또는 get_white_label 도구를 호출하여 active와 읽기 전용 grace를 구분하고 설정 진행 상황과 유예 기한을 확인할 수 있습니다. 사용할 수 없는 계정은 해당 엔드포인트를 호출할 수 없습니다. 저장된 자격 증명에 계정이 더 이상 사용할 수 없는 화이트 라벨 범위가 남아 있으면 API는 scope_blocked_by_entitlement를 반환하고 다시 활성화할 위치를 설명합니다.

범위

범위 허용하는 작업
branding:read 브랜드 설정, 자산, 호스트, DNS 레코드, 설정 상태 읽기
branding:write 브랜딩, 자산, 미리 보기, 호스트, DNS 검사 변경
members:read 고객, 팀 구성원, 역할, 도메인 접근 권한, 접근 카탈로그 읽기
members:write 사용자 초대와 접근 권한 업데이트, 일시 중지, 재개, 제거 또는 복원
activity:read 화이트 라벨 계정 활동과 구성원 로그인 읽기

구성원 활동 엔드포인트에는 activity:readmembers:read가 모두 필요합니다. 응답에 활동뿐 아니라 구성원 레코드도 포함되기 때문입니다. 호스팅 OAuth 연결은 tools:white_label 선택기를 사용하여 이 도구 제품군을 요청합니다. 유효한 REST 범위는 여전히 계정과 구성원 자격에 따라 제한됩니다.

자체 호스팅 MCP 서버에서 도구 모음 허용 목록을 사용한다면 TREKMAIL_TOOLSETSwhite_label을 추가하세요. 쓰기 도구에는 아래에서 설명하는 로컬 안전 게이트도 적용됩니다.

REST 엔드포인트

모든 경로는 https://trekmail.net/api/v1 아래에 있습니다.

메서드 경로 범위 목적
GET /white-label branding:read 사용 권한, 기본 브랜드, 설정 진행 상황, 접근 가능한 도메인 상태 읽기
GET /white-label/access-catalog members:read 역할, 권한 그룹, 부여 가능한 권한, 접근 가능한 도메인 읽기
GET /white-label/members members:read 검색과 상태 필터를 사용해 구성원과 초대 목록 표시
POST /white-label/members members:write 고객 또는 팀 구성원 초대
GET /white-label/members/{id} members:read 구성원 한 명과 허용된 다음 작업 읽기
PATCH /white-label/members/{id} members:write 역할, 도메인 접근 권한, 사용자 지정 권한 또는 메모 변경
POST /white-label/members/{id}:suspend members:write 접근을 즉시 중지하고 구성원 키 취소
POST /white-label/members/{id}:resume members:write 일시 중지된 구성원 자격 재개
POST /white-label/members/{id}:resend-invitation members:write 대기 중인 초대를 교체하고 새 초대 전송
DELETE /white-label/members/{id} members:write 접근 권한을 제거하고 구성원 키 취소
POST /white-label/members/{id}:restore members:write 이전 키를 되살리지 않고 제거된 구성원 자격 복원
GET /white-label/activity activity:read 작업 또는 구성원으로 선택적으로 필터링하여 계정 활동 읽기
GET /white-label/members/{id}/activity activity:read + members:read 구성원 한 명의 작업과 최근 로그인 읽기

이 표의 모든 쓰기 작업에는 Idempotency-Key 헤더가 필요합니다. 같은 키로 같은 요청을 반복하면 원래의 안전한 결과가 반환됩니다. 초대 토큰처럼 재실행에 포함된 일회성 비밀 정보는 가려집니다. 같은 키를 다른 본문에 재사용하면 idempotency_mismatch가 반환됩니다.

먼저 접근 카탈로그 읽기

통합에서 역할 권한을 하드 코딩하지 마세요. 초대하거나 접근 권한을 변경하기 전에 접근 카탈로그를 호출하세요. 카탈로그의 grantable 플래그는 호출자의 현재 구성원 자격을 반영하며, 소유자가 해당 자격을 조정하면 변경될 수 있습니다.

현재 새 초대에 제공되는 역할은 다음과 같습니다.

  • client - 할당된 도메인과 메일함을 관리하지만 리셀러와 TrekMail의 비공개 관계는 볼 수 없습니다.
  • webmail_only - 팀 목록에는 표시되지만 대시보드 권한은 받지 않습니다.
  • domain_admin - 할당된 도메인과 해당 DNS를 관리하지만 메일함은 관리하지 않습니다.
  • mailbox_operator - 할당된 도메인 안의 메일함을 관리하지만 도메인 자체는 관리하지 않습니다.
  • read_only - 허용된 계정 영역을 살펴볼 수 있지만 변경할 수는 없습니다.
  • custom - permissions에 나열된 권한만 받습니다.

일부 역할에는 명시적인 domain_ids가 필요하며, 다른 역할은 all_domains를 사용할 수 있습니다. 접근 카탈로그에서 적용되는 규칙을 확인할 수 있습니다. 호출자가 더 넓은 역할, 권한 또는 도메인 집합을 부여하려 하면 TrekMail은 초대 범위를 조용히 줄이지 않고 scope_blocked_by_membership을 반환합니다.

고객 초대

curl -s -X POST "https://trekmail.net/api/v1/white-label/members" \
  -H "Authorization: Bearer tm_live_your_token" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: invite-northwind-admin-20260904" \
  -d '{
    "email": "admin@northwind.example",
    "role": "client",
    "all_domains": false,
    "domain_ids": [123, 124],
    "note": "Northwind primary contact"
  }'

응답에는 구성원, 이메일 전송 성공 여부, 일회성 초대 URL이 포함됩니다. 전송 문제가 생겨도 초대가 삭제되지는 않습니다. 소유자가 URL을 복사하거나 나중에 다시 보낼 수 있습니다.

사용자 지정 역할의 경우 접근 카탈로그에서 grantable_permissions를 읽고 선택한 값을 permissions로 보내세요. 적어도 하나의 권한이 필요합니다.

구성원 상태 추적

모든 구성원 응답에는 allowed_operations가 포함됩니다. 추측하지 말고 이 목록을 사용하세요.

  • 대기 중인 초대는 업데이트, 일시 중지, 재전송 또는 제거할 수 있습니다.
  • 활성 구성원은 업데이트, 일시 중지 또는 제거할 수 있습니다.
  • 일시 중지된 구성원은 업데이트, 재개 또는 제거할 수 있습니다.
  • 제거된 구성원은 복원할 수 있습니다.
  • 소유자 행은 참고용으로 표시되지만 이 엔드포인트를 통해 변경할 수 없습니다.

이 목록은 현재 호출자에 맞게 필터링됩니다. 읽기 전용 연결, 호출자 자신의 구성원 자격, 호출자가 관리할 수 있는 범위보다 권한이 넓은 구성원에게는 목록이 비어 있습니다.

호출자는 자신을 제거하거나 일시 중지할 수 없습니다. 위임된 호출자는 자신보다 접근 권한이 넓은 구성원도 관리할 수 없습니다. 잘못된 전환은 구성원을 다시 읽으라는 안내와 함께 membership_state_conflict를 반환합니다.

사용자를 일시 중지하거나 제거하면 해당 구성원 자격으로 생성된 API와 메일함 키가 취소됩니다. 구성원 자격을 재개하거나 복원해도 이전 키는 되살아나지 않습니다. 해당 사용자는 다시 연결하거나 새 자격 증명을 만들어야 합니다.

활동과 개인정보 보호 경계

GET /white-label/activity는 초대, 역할과 도메인 변경, 일시 중지, 제거, 복원 및 관련 보안 작업을 반환합니다. action, member_id, per_page로 필터링할 수 있습니다.

GET /white-label/members/{id}/activity는 해당 구성원의 계정 작업과 최근 로그인을 함께 반환합니다. 여기에는 시간, IP 주소, 대략적인 위치, 브라우저, 운영 체제, 기기 유형이 포함됩니다. 이 경로는 의도적으로 두 읽기 범위를 모두 요구합니다. 도메인 제한이 있는 호출자는 자신의 도메인 경계에 완전히 포함된 구성원만 요청할 수 있습니다. 접근할 수 없는 구성원은 404로 반환되므로 이 엔드포인트는 다른 테넌트나 고객의 존재를 드러내지 않습니다.

MCP 도구

도구 게이트 목적
get_white_label Read 사용 권한, 브랜드, 설정 진행 상황, 도메인
get_white_label_access_catalog Read 호출자가 부여할 수 있는 역할, 권한, 도메인
list_white_label_members Read 고객, 구성원, 초대 검색 또는 필터링
get_white_label_member Read 구성원 한 명과 허용된 다음 작업 읽기
invite_white_label_member Sending 초대를 만들고 이메일로 전송
update_white_label_member Destructive 역할, 도메인, 권한 또는 메모 변경
suspend_white_label_member Destructive 접근을 중지하고 활성 키 취소
resume_white_label_member Destructive 일시 중지된 구성원 자격 재개
resend_white_label_invitation Sending 대기 중인 초대를 교체하고 이메일로 전송
remove_white_label_member Destructive + confirmation 접근 권한을 제거하고 활성 키 취소
restore_white_label_member Destructive 제거된 구성원 자격 복원
list_white_label_activity Read 계정 활동 읽기
get_white_label_member_activity Read 구성원 한 명의 작업과 로그인 읽기

자체 호스팅 stdio MCP에서 초대 도구를 사용하려면 TREKMAIL_ALLOW_SENDING=true가 필요합니다. 접근 권한 변경 도구에는 TREKMAIL_ALLOW_DESTRUCTIVE=true가 필요하며, 제거에는 confirm_remove=true도 필요합니다. 이 스위치는 로컬 안전 제어이며 추가 API 권한이 아닙니다. 호스팅 MCP는 자체적으로 승인된 안전 정책을 적용합니다.

키를 제공하지 않으면 도구가 결정적 멱등성 키를 생성합니다. 워크플로가 다른 프로세스에서 다시 시작될 수 있다면 직접 idempotency_key를 제공하는 것이 유용합니다.

안전한 자동화 흐름

  1. get_white_label을 호출합니다. scope_blocked_by_entitlement이면 중지하세요. 성공한 grace 응답에서는 읽기 작업만 계속하세요.
  2. 접근 권한을 부여하기 직전에 get_white_label_access_catalog를 호출합니다.
  3. 대상 구성원을 변경하기 전에 목록에서 찾거나 읽습니다.
  4. allowed_operations, 의도한 역할, 권한, 도메인 ID를 확인합니다.
  5. 쓰기 작업에 안정적인 멱등성 키를 사용합니다.
  6. 구성원을 다시 읽고 결과 상태와 유효 권한을 보고합니다.
  7. 변경에 대한 감사 기록이 필요하면 화이트 라벨 활동을 확인합니다.

다음 조치를 알려주는 오류

코드 의미 다음 단계
insufficient_scope 자격 증명에 필요한 범위가 부여된 적이 없음 해당 범위를 추가하거나 OAuth 연결 재승인
scope_blocked_by_entitlement 저장된 권한 부여가 있지만 현재 화이트 라벨이 활성화되지 않음 화이트 라벨을 다시 활성화한 후 자격 증명을 재발급하거나 재승인
scope_blocked_by_membership 사용자의 현재 역할이 요청한 작업이나 권한 부여보다 좁음 소유자에게 구성원 자격 변경을 요청하거나 더 적은 접근 권한 요청
member_not_manageable 대상이 소유자, 호출자 자신 또는 권한이 더 넓은 구성원임 호출자의 관리 경계 안에 있는 구성원 선택
membership_state_conflict 작업이 구성원의 현재 상태에 맞지 않음 allowed_operations를 읽고 해당 작업 중 하나 선택
missing_idempotency_key 키 없이 쓰기 요청을 보냄 안정적인 Idempotency-Key로 재시도
idempotency_mismatch 같은 키를 다른 입력에 재사용함 원래 입력을 사용하거나 새 키 생성

관련 문서

워크플로를 이어가는 인근 가이드로 이동하세요.

TrekMail 운영과 보호에 필요한 기술을 사용합니다. 확인하면 쿠키 정책에 설명된 제한적인 분석 및 광고 측정도 허용됩니다.

TrekMail 로그인

대시보드, 메일함, DNS에 액세스하세요.

또는

12자 비밀번호 일치

또는

재설정 이메일 전송됨

이 이메일로 등록된 계정이 있으면 비밀번호 재설정 안내를 보내드렸습니다.

계속 진행하면 TrekMail의 이용약관개인정보 처리방침에 동의하게 됩니다.