---
title: "라우터"
slug: "clovastudio-router"
updated: 2026-04-23T08:55:44Z
published: 2026-04-23T09:02:20Z
---

> ## Documentation Index
> Fetch the complete documentation index at: https://api.ncloud-docs.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 라우터

Classic/VPC 환경에서 이용 가능합니다.

특정 라우터의 API를 호출하여 입력된 요청을 적절한 도메인으로 분류하고, 설정된 필터 조건에 해당하는지 판별합니다.

## 요청

요청 형식을 설명합니다. 요청 형식은 다음과 같습니다.

| 메서드 | URI |
| --- | --- |
| POST | /v1/routers/{router-id}/versions/{version}/route |

### 요청 헤더

CLOVA Studio API에서 공통으로 사용하는 헤더에 대한 정보는 [CLOVA Studio 요청 헤더](/docs/ai-naver-clovastudio-summary#%EC%9A%94%EC%B2%AD%ED%97%A4%EB%8D%94)를 참조해 주십시오.

### 요청 경로 파라미터

요청 경로 파라미터에 대한 설명은 다음과 같습니다.

| 필드 | 타입 | 필수 여부 | 설명 |
| --- | --- | --- | --- |
| `router-id` | String | Required | 라우터 아이디 |
| `version` | Integer | Required | 라우터 버전 - 1 ≤ `version` |

### 요청 바디

요청 바디에 대한 설명은 다음과 같습니다.

| 필드 | 타입 | 필수 여부 | 설명 |
| --- | --- | --- | --- |
| `query` | String | Required | 입력 |
| `chatHistory` | Array | Optional | 대화 메시지 이력: [chatHistory](/docs/clovastudio-router#chatHistory) |

#### `chatHistory`

`chatHistory`에 대한 설명은 다음과 같습니다.

| 필드 | 타입 | 필수 여부 | 설명 |
| --- | --- | --- | --- |
| `role` | Enum | Required | 대화 메시지 역할 - `user`: 사용자의 발화/질문 |
| `content` | String | Required | 대화 메시지 내용 |

### 요청 예시

요청 예시는 다음과 같습니다.

```
curl --location --request POST 'https://clovastudio.stream.ntruss.com/v1/routers/{router-id}/versions/{version}/route' \
--header 'Authorization: Bearer {API Key}' \
--header 'X-NCP-CLOVASTUDIO-REQUEST-ID: {Request ID}' \
--header 'Content-Type: application/json' \
--data '{
  "query" : "미세먼지 정보 알려줘",
  "chatHistory" : [ {
    "role" : "user",
    "content" : "내일 서울의 강수 예보 알려줘"
  } ]
}'
```

## 응답

응답 형식을 설명합니다.

### 응답 헤더

응답 헤더에 대한 설명은 다음과 같습니다.

| 헤더 | 필수 여부 | 설명 |
| --- | --- | --- |
| Content-Type | - | 응답 데이터의 형식 - `application/json` |

### 응답 바디

응답 바디에 대한 설명은 다음과 같습니다.

| 필드 | 타입 | 필수 여부 | 설명 |
| --- | --- | --- | --- |
| `status` | Object | - | [응답 상태](/docs/ai-naver-clovastudio-summary#%EC%9D%91%EB%8B%B5) |
| `result` | Object | - | 응답 결과 |
| `result.domain` | Object | - | 도메인 결과 |
| `result.domain.result` | String | - | 도메인 판별 결과 - 일치하는 도메인이 없는 경우 빈 문자열 표시 |
| `result.domain.called` | Boolean | - | 도메인 판별 수행 여부 - `true` \| `false` - `true`: 수행함 - `false`: 수행 안 함 |
| `result.blockedContent` | Object | - | 콘텐츠 필터 결과 |
| `result.blockedContent.result` | Array | - | 콘텐츠 필터 판별 결과 - 일치하는 필터 없는 경우 빈 목록 표시 |
| `result.blockedContent.called` | Boolean | - | 콘텐츠 필터 판별 수행 여부 - `true` \| `false` - `true`: 수행함 - `false`: 수행 안 함 |
| `result.safety` | Object | - | 세이프티 필터 결과 |
| `result.safety.result` | Array | - | 세이프티 필터 판별 결과 - 일치하는 필터 없는 경우 빈 목록 표시 |
| `result.safety.called` | Boolean | - | 세이프티 필터 판별 수행 여부 - `true` \| `false` - `true`: 수행함 - `false`: 수행 안 함 |
| `result.usage` | Object | - | 토큰 수 정보 |
| `result.usage.promptTokens` | Integer | - | 입력 토큰 수 |
| `result.usage.completionTokens` | Integer | - | 생성 토큰 수 |
| `result.usage.totalTokens` | Integer | - | 전체 토큰 수 - `promptTokens` + `completionTokens` |

### 응답 예시

응답 예시는 다음과 같습니다.

#### 성공

호출이 성공한 경우의 응답 예시는 다음과 같습니다.

```
{
  "status": {
    "code": "20000",
    "message": "OK"
  },
  "result": {
    "domain": {
      "result": "지역 검색",
      "called": true
    },
    "blockedContent": {
      "result": ["UnsupportedRegion"],
      "called": true
    },
    "safety": {
      "result": [],
      "called": true
    },
    "usage": {
      "promptTokens": 425,
      "completionTokens": 62,
      "totalTokens": 487
    }
  }
}
```

#### 실패

호출이 실패한 경우의 응답 예시는 다음과 같습니다.

- [클라이언트 공통 오류 문제(4xx)](/docs/clovastudio-troubleshoot-c4xx)
- [클라이언트 스킬 오류 문제(4xx)](/docs/clovastudio-troubleshoot-s4xx)
- [서버 공통 오류 문제(5xx)](/docs/clovastudio-troubleshoot-c5xx)
- [서버 스킬 오류 문제(5xx)](/docs/clovastudio-troubleshoot-s5xx)
