Routing Policies
fallback/weighted/latency 라우팅 정책의 생성·조회·수정·삭제. 호출은 model:"policy/<slug>".
라우팅 정책 관리 엔드포인트는 대시보드 세션 토큰(로그인한 JWT)으로 인증합니다 — Authorization: Bearer <JWT>. 대시보드 관리용 API이며 SDK 호환 엔드포인트가 아닙니다. 정책의 동작 방식은 라우팅 정책 기능 문서를 참고하세요.
이 CRUD API는 항상 동작하지만,
policy/<slug> 호출은 운영 게이트 routing.policies_enabled(기본 off)가 켜져 있어야 합니다. 게이트가 꺼진 상태의 호출은 400을 반환합니다.목록 조회 · 생성#
GET/v1/routing-policies
POST/v1/routing-policies
| 파라미터 | 타입 | 필수 | 설명 |
|---|---|---|---|
| slug | string | 필수 | 호출 식별자. 패턴 ^[a-z0-9][a-z0-9-]{0,62}$. "policy/<slug>" 형태로 사용됩니다. 사용자별 고유(중복 시 409). |
| display_name | string | 필수 | 표시 이름. 1~100자. |
| policy_type | string | 필수 | fallback · weighted · latency 중 하나. |
| entries | array | 필수 | 모델 엔트리 1~10개. 필드는 아래 표 참고. |
| 파라미터 | 타입 | 필수 | 설명 |
|---|---|---|---|
| model | string | 필수 | 라우팅할 모델 ID. 실제 활성 모델이어야 합니다(1~100자). |
| weight | integer | 선택 | 가중치 1~10000. weighted 타입에서만 의미가 있습니다. |
| retries | integer | 선택 | 같은 엔트리 반복 횟수 0~3(기본 0). fallback 타입에서만 의미가 있습니다. |
엔트리 검증: 다른 정책(policy/…)과 가상 모델(pleum-smart·pleum-perfect)은 400으로 거부되고, 존재하지 않거나 비활성인 모델도 400입니다.
POST는 성공 시 201을 반환합니다. 같은 슬러그가 이미 있으면 409. GET /v1/routing-policies는 {items: [...], total: n}을 반환합니다(최신 생성순).
create policy
curl https://router.pleum.ai/v1/routing-policies \
-H "Authorization: Bearer <JWT>" \
-H "Content-Type: application/json" \
-d '{
"slug": "prod-chat",
"display_name": "Prod Chat",
"policy_type": "fallback",
"entries": [
{"model": "claude-sonnet-4-6", "retries": 1},
{"model": "gpt-4o", "retries": 0},
{"model": "gpt-4o-mini", "retries": 0}
]
}'response
{
"id": "1f0a4c2e-...",
"slug": "prod-chat",
"display_name": "Prod Chat",
"policy_type": "fallback",
"entries": [
{"model": "claude-sonnet-4-6", "retries": 1},
{"model": "gpt-4o", "retries": 0},
{"model": "gpt-4o-mini", "retries": 0}
],
"is_active": true,
"created_at": "2026-07-01T09:00:00Z",
"updated_at": "2026-07-01T09:00:00Z"
}수정 · 삭제#
PATCH/v1/routing-policies/{policy_id}
DELETE/v1/routing-policies/{policy_id}
PATCH는 보낸 필드만 수정합니다(display_name·policy_type·entries·is_active). slug는 변경할 수 없습니다. 내 소유가 아니거나 없는 정책은 404. DELETE는 {"ok": true}를 반환합니다. is_active: false로 끄면 삭제 없이 호출만 막을 수 있습니다.
deactivate policy
curl -X PATCH https://router.pleum.ai/v1/routing-policies/1f0a4c2e-... \
-H "Authorization: Bearer <JWT>" \
-H "Content-Type: application/json" \
-d '{"is_active": false}'