agentHub
API

API 레퍼런스

AILoft 통합을 위한 완전한 REST API 문서.

기본 URL
인증
JSON 응답

인증

모든 요청에 Authorization 헤더에 Bearer 토큰으로 API 키가 필요합니다.

// Header
Authorization: Bearer your-api-token

API 키를 비밀로 유지하세요. 클라이언트 사이드 코드에 노출하지 마세요.

엔드포인트

GET/api/agents메타데이터, 평점, 가격과 함께 사용 가능한 모든 에이전트 목록.

매개변수

categorystringFilter by category (Development, Analytics, Legal, ...)
searchstringSearch in name, description and tags
backendstringFilter 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 }
GET/api/agents/:slug특정 에이전트의 상세 정보 조회.

매개변수

slugstringUnique agent slug (URL param)
응답: { ...AgentDetail, author: { id, name, username }, reviews: Review[] }
GET/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 }
GET/api/agents/:slug/similarGet similar agents from the same category.

매개변수

slugstringAgent slug (URL param)
응답: { agents: Agent[] }
POST/api/agents/:slug/install유료 에이전트 설치. 지갑에서 차감.

매개변수

slugstringAgent slug (URL param)
backendstringTarget backend (default: "openai")
응답: { success: boolean, message: string, config: InstallConfig }
POST/api/agents/install-free무료 에이전트 설치. 인증 필요.

매개변수

agentSlugstringAgent slug (body)
emailstringEmail for delivery (body)
응답: { ok: boolean }
POST/api/agents/:slug/reviews🔒설치된 에이전트에 리뷰 제출.

매개변수

ratingnumberRating 1–5 (required)
commentstringReview text (optional)
응답: { id, rating, comment, agentId, userId, createdAt }
GET/api/payments/wallet🔒지갑 잔액과 거래 내역 조회.
응답: { balance, totalEarned, totalWithdrawn, available, stripeAccountStatus }

데이터 타입

Agent

id: string
slug: string
name: string
description: string
icon: string | null
category: string
agentType: "prompt_based" | "app_ui"
compatible: string[]
tags: string[]
pricing: { type: "one_time", amount?: number }
rating: number
installs: number
isFeatured: boolean
createdAt: string (ISO 8601)
author: { id: string, name: string }

Review

id: string
rating: number (1–5)
comment: string | null
agentId: string
userId: string
user: { name, username, avatarUrl }
createdAt: string (ISO 8601)