API

API 인증

API Key 또는 JWT로 DisHost API에 접근하는 방법

DisHost API는 웹 대시보드에서 할 수 있는 모든 기능을 프로그램으로 호출할 수 있습니다. CLI, CI/CD, 커스텀 도구를 만들 때 사용하세요.

인증 방식 선택

방식사용처예시
API KeyCLI, GitHub Actions, 스크립트curl -H "x-api-key: ..."
JWT웹 대시보드 (자동)Authorization: Bearer ...

둘 중 하나만 있으면 모든 API를 사용할 수 있습니다.


API Key 사용하기

1. 키 발급

  1. 대시보드 설정"API Keys" 섹션
  2. 이름 입력 (예: 내 CLI, GitHub Actions, 자동화 스크립트)
  3. "Create" 버튼 클릭
  4. 생성된 키를 복사 — 이 창을 닫으면 다시 볼 수 없습니다

키는 dsh_live_ 로 시작하는 긴 문자열입니다.

2. 요청 보내기

모든 요청에 x-api-key 헤더를 추가합니다:

# 내 봇 목록 조회
curl -H "x-api-key: dsh_live_abc123..." \
  https://api.dishost.kr/api/v1/bots

# 새 봇 배포
curl -X POST https://api.dishost.kr/api/v1/deployments \
  -H "x-api-key: dsh_live_abc123..." \
  -H "Content-Type: application/json" \
  -d '{"botId":"abc123"}'

3. 키 관리

  • 이름: 용도 구분용 (검증에 영향 없음)
  • 폐기: 더 이상 사용하지 않는 키는 삭제 버튼으로 폐기
  • 보관: .env 파일이나 시크릿 관리 도구에 보관하세요. GitHub에 올리지 마세요

JWT (Bearer Token)

JWT는 Discord 로그인 시 자동으로 발급됩니다. 웹 대시보드에서만 사용하고, 7일 후 만료됩니다.

일반적으로는 API Key를 대신 사용하세요.

curl -H "Authorization: Bearer eyJhbGciOi..." \
  https://api.dishost.kr/api/v1/bots

Public API (인증 불필요)

일부 정보는 인증 없이 누구나 조회할 수 있습니다:

# 서버 상태 확인
curl https://api.dishost.kr/api/v1/health
# → { "status": "ok", "db": "connected", "uptime": 123456 }

# API 버전 확인
curl https://api.dishost.kr/api/v1/version
# → { "version": "2.0.0", "apiPrefix": "v1" }

# 템플릿 목록
curl https://api.dishost.kr/api/v1/templates

Public API는 IP당 15분에 100회로 제한됩니다.


기본 URL

https://api.dishost.kr/api/v1

모든 API 요청은 이 URL로 시작합니다.