Dify API 시작하기
Dify API 시작하기
Dify에서 발행한 애플리케이션은 전부 REST API로도 동시에 제공돼요. 지식 베이스도 마찬가지고요. 즉 최종 사용자가 상호작용하는 바로 그 앱을, 내 백엔드에서 API 키 하나로 똑같이 호출할 수 있다는 뜻이에요.
출처: 공식문서
API 키 얻기
⚠️ API 호출은 백엔드에서만 하세요. 프론트엔드 코드나 클라이언트 앱에 키를 박아두면 추출돼 악용될 수 있어요.
-
앱용 키: 앱 안에서 직접 API 키를 만들어요. 키는 그 앱 하나에만 범위가 지정되고, 키 하나가 모든 최종 사용자를 감당해요.
💡 사용자를 구분하는 건 요청 안의
user값이에요. 자세한 내용은 엔드 유저 식별자 페이지를 참고하세요. -
지식 베이스용 키: Knowledge로 가서 오른쪽 위 Service API를 누르고 거기서 키를 만들어요. 통합에 필요한 지식 베이스에만 키의 범위를 좁힐 수도 있어요(키 스코프 설정).
첫 호출 만들어 보기
모든 요청은 키를 Bearer 토큰으로 실어 보내요. Dify Cloud 기준 base URL은 https://api.dify.ai/v1이고, 셀프호스팅이라면 자기 인스턴스의 API base URL을 쓰면 돼요.
코드 없이 가장 빠르게 첫 호출을 해보려면 이렇게 해요. Get App Info를 열어 Try it을 누르고, Authorization 필드에 키를 붙여넣은 뒤 Send를 눌러요. 이 엔드포인트는 모든 앱 유형에서 동작해요.
터미널에서 같은 호출을 하면 이렇게 돼요.
curl https://api.dify.ai/v1/info \
-H "Authorization: Bearer ***"
아래 같은 응답이 오면 키가 정상 동작하고, 이 앱이 뭔지도 보여줘요.
{
"name": "My Chat App",
"description": "A helpful assistant",
"tags": ["assistant"],
"mode": "chat",
"author_name": "Dify Team"
}
지식 베이스용 키를 쓰고 있나요?
- 스코프가 지정된 키: 스코프 안의 지식 베이스 ID를 Dify에서 복사한 뒤 Get Knowledge Base를 호출해요.
- 모든 지식 베이스에 접근 가능한 키: List Knowledge Bases를 호출해요.
내 앱 유형의 엔드포인트 찾기
각 앱 유형의 전체 API 표면은 자기 개요 페이지에서 확인할 수 있어요.
- Chatflow (
advanced-chat) - Workflow (
workflow) - Agent (
agent) - Chatbot and Legacy Agent (
chat,agent-chat) - Text Generator (
completion) - Knowledge