AILoft 통합을 위한 완전한 REST API 문서.
기본 URL인증JSON 응답모든 요청에 Authorization 헤더에 Bearer 토큰으로 API 키가 필요합니다.
// Header Authorization: Bearer your-api-token
API 키를 비밀로 유지하세요. 클라이언트 사이드 코드에 노출하지 마세요.
/api/agents메타데이터, 평점, 가격과 함께 사용 가능한 모든 에이전트 목록.categorystringFilter by category (Development, Analytics, Legal, ...)searchstringSearch in name, description and tagsbackendstringFilter by compatible backend (e.g. openai, claude, ollama)pricingstringFilter: "free" or "paid"sortstringSort: popular, newest, rating (default: newest)pagenumberPage number (default: 1)limitnumberResults per page (1–50, default: 12){ agents: Agent[], total: number, page: number }/api/agents/:slug특정 에이전트의 상세 정보 조회.slugstringUnique agent slug (URL param){ ...AgentDetail, author: { id, name, username }, reviews: Review[] }/api/agents/:slug/reviews에이전트의 페이지네이션된 리뷰 조회.slugstringAgent slug (URL param)pagenumberPage number (default: 1)limitnumberResults per page (1–50, default: 10){ reviews: Review[], total: number, page: number }/api/agents/:slug/similarGet similar agents from the same category.slugstringAgent slug (URL param){ agents: Agent[] }/api/agents/:slug/install유료 에이전트 설치. 지갑에서 차감.slugstringAgent slug (URL param)backendstringTarget backend (default: "openai"){ success: boolean, message: string, config: InstallConfig }/api/agents/install-free무료 에이전트 설치. 인증 필요.agentSlugstringAgent slug (body)emailstringEmail for delivery (body){ ok: boolean }/api/agents/:slug/reviews🔒설치된 에이전트에 리뷰 제출.ratingnumberRating 1–5 (required)commentstringReview text (optional){ id, rating, comment, agentId, userId, createdAt }/api/payments/wallet🔒지갑 잔액과 거래 내역 조회.{ balance, totalEarned, totalWithdrawn, available, stripeAccountStatus }id: stringslug: stringname: stringdescription: stringicon: string | nullcategory: stringagentType: "prompt_based" | "app_ui"compatible: string[]tags: string[]pricing: { type: "one_time", amount?: number }rating: numberinstalls: numberisFeatured: booleancreatedAt: string (ISO 8601)author: { id: string, name: string }
id: stringrating: number (1–5)comment: string | nullagentId: stringuserId: stringuser: { name, username, avatarUrl }createdAt: string (ISO 8601)