--- title: "Router" slug: "clovastudio-router" updated: 2026-09-17T09:35:47Z published: 2026-09-17T09:35:47Z canonical: "api.ncloud-docs.com/clovastudio-router" --- > ## 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. # Router Available in Classic and VPC Call the API of a specific router to classify the input request into the appropriate domain and determine whether it meets the set filter conditions. ## Request This section describes the request format. The method and URI are as follows: | Method | URI | | --- | --- | | POST | /v1/routers/{router-id}/versions/{version}/route | ### Request headers For information about the headers common to all CLOVA Studio APIs, see [CLOVA Studio request headers](/docs/en/ai-naver-clovastudio-summary#%EC%9A%94%EC%B2%AD%ED%97%A4%EB%8D%94). ### Request path parameters You can use the following path parameters with your request: | Field | Type | Required | Description | | --- | --- | --- | --- | | `router-id` | String | Required | Router ID | | `version` | Integer | Required | Router version - 1 ≤ `version` | ### Request body You can include the following data in the body of your request: | Field | Type | Required | Description | | --- | --- | --- | --- | | `query` | String | Required | Entry | | `chatHistory` | Array | Optional | Conversation message history: [chatHistory](/docs/en/clovastudio-router#chatHistory) | #### `chatHistory` The following describes `chatHistory`. | Field | Type | Required | Description | | --- | --- | --- | --- | | `role` | Enum | Required | Conversation message role - `user`: User utterances/questions | | `content` | String | Required | Content of conversation messages | ### Request example The request example is as follows: ``` 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" : "Tell me the fine dust information.", "chatHistory" : [ { "role" : "user", "content" : "Tell me the precipitation forecast for Seoul tomorrow." } ] }' ``` ## Response This section describes the response format. ### Response headers The following describes the response headers. | Headers | Required | Description | | --- | --- | --- | | Content-Type | - | Response data format - `application/json` | ### Response body The response body includes the following data: | Field | Type | Required | Description | | --- | --- | --- | --- | | `status` | Object | - | [Response status](/docs/en/ai-naver-clovastudio-summary#%EC%9D%91%EB%8B%B5) | | `result` | Object | - | Response result | | `result.domain` | Object | - | Domain result | | `result.domain.result` | String | - | Domain determination result - Display an empty string if no matching domain is found. | | `result.domain.called` | Boolean | - | Whether domain determination is performed - `true` \| `false` - `true`: Enable - `false`: Disable | | `result.blockedContent` | Object | - | Content filter results | | `result.blockedContent.result` | Array | - | Content filter determination result - Display an empty list if no matching filter is found. | | `result.blockedContent.called` | Boolean | - | Whether content filter determination is performed - `true` \| `false` - `true`: Enable - `false`: Disable | | `result.safety` | Object | - | Safety filter result | | `result.safety.result` | Array | - | Safety filter determination result - Display an empty list if no matching filter is found. | | `result.safety.called` | Boolean | - | Whether safety filter determination is performed - `true` \| `false` - `true`: Enable - `false`: Disable | | `result.usage` | Object | - | Token count information | | `result.usage.promptTokens` | Integer | - | Input token count | | `result.usage.completionTokens` | Integer | - | Generated token count | | `result.usage.totalTokens` | Integer | - | Total token count - `promptTokens` + `completionTokens` | ### Response example The response example is as follows: #### Succeeded The following is a sample response upon a successful call. ``` { "status": { "code": "20000", "message": "OK" }, "result": { "domain": { "result": "Search Region", "called": true }, "blockedContent": { "result": ["UnsupportedRegion"], "called": true }, "safety": { "result": [], "called": true }, "usage": { "promptTokens": 425, "completionTokens": 62, "totalTokens": 487 } } } ``` #### Failure The following is a sample response upon a failed call. - [Common client error troubleshooting (4xx)](/docs/en/clovastudio-troubleshoot-c4xx) - [Client skill error troubleshooting (4xx)](/docs/en/clovastudio-troubleshoot-s4xx) - [Common server error troubleshooting (5xx)](/docs/en/clovastudio-troubleshoot-c5xx) - [Server skill error troubleshooting (5xx)](/docs/en/clovastudio-troubleshoot-s5xx)