API
API 인증
API Key 또는 JWT로 DisHost API에 접근하는 방법
DisHost API는 웹 대시보드에서 할 수 있는 모든 기능을 프로그램으로 호출할 수 있습니다. CLI, CI/CD, 커스텀 도구를 만들 때 사용하세요.
인증 방식 선택
| 방식 | 사용처 | 예시 |
|---|---|---|
| API Key | CLI, GitHub Actions, 스크립트 | curl -H "x-api-key: ..." |
| JWT | 웹 대시보드 (자동) | Authorization: Bearer ... |
둘 중 하나만 있으면 모든 API를 사용할 수 있습니다.
API Key 사용하기
1. 키 발급
- 대시보드 설정 → "API Keys" 섹션
- 이름 입력 (예:
내 CLI,GitHub Actions,자동화 스크립트) - "Create" 버튼 클릭
- 생성된 키를 복사 — 이 창을 닫으면 다시 볼 수 없습니다
키는
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/botsPublic 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/templatesPublic API는 IP당 15분에 100회로 제한됩니다.
기본 URL
https://api.dishost.kr/api/v1모든 API 요청은 이 URL로 시작합니다.