# Get UGN Route Table - GetUGNRouteTable

## Overview

Get UGN Route Table






## Definition

### Public Parameters

| Parameter Name | Type | Description Information | Required |
|:---|:---|:---|:---|
| **Action**     | string  | Corresponding API command name, the current API is `GetUGNRouteTable`.                      | **Yes** |
| **PublicKey**  | string  | The user's public key can be obtained from [Console](https://console.genesissai.com/uaccount/api_manage)                                             | **Yes** |
| **Signature**  | string  | User signature generated based on public key and API command, see [Signature Algorithm](/docs/api/summary/signature.md)  | **Yes** |

### Request Parameters

| Parameter Name | Type | Description Information | Required |
|:---|:---|:---|:---|
| **ProjectId** | string | Project ID. Leave it blank for the default project. Sub-accounts must fill in. Please refer to the [GetProjectList API](/docs/api/summary/get_project_list) |**Yes**|
| **UGNID** | string | UGN Instance ID |**Yes**|
| **Type** | string | Routing table type, divided into initial routing table, intermediate routing table, and final routing table, with limited values: "Origin"/"Middle"/"Final |**Yes**|

### Response Field

| Field Name | Type | Description Information | Required |
|:---|:---|:---|:---|
| **RetCode** | int | Return status code. If it is 0, it means successful return. If it is not 0, it means failure. |**Yes**|
| **Action** | string | Operation command name. |**Yes**|
| **Message** | string | Returns an error message, providing detailed description when `RetCode` is non-zero. |No|
| **UGNID** | string | UGN Instance ID |**Yes**|
| **Routes** | array[[*SimpleRoute*](#simpleroute)] | Routing Table, use this for "Origin"/"Middle". |**Yes**|
| **VRoutes** | array[[*VRoute*](#vroute)] | The routing table corresponding to the network instance, use "Final" for this |**Yes**|

#### Data Model


#### SimpleRoute

| Field Name | Type | Description Information | Required |
|:---|:---|:---|:---|
| **DstAddr** | string | Destination Segment |No|
| **NextHopID** | string | Next Hop Network Instance ID |No|
| **NextHopType** | string | Next hop network instance type |No|
| **NextHopRegion** | string | Region of the next hop network instance |No|
| **NextHopRegionID** | int | Region id of the next hop network instance |No|
| **Priority** | int | Routing Priority |No|
| **Deny** | boolean | Invalid due to hitting routing policy |No|
| **Restrict** | boolean | true: Invalid due to lower priority than other routes with the same prefix |No|
| **Conflict** | boolean | true: Invalid due to the same priority but later insertion into the database than other routes with the same prefix. |No|
| **InPolicyId** | string | Inbound routing policy id in match |No|
| **InPolicyName** | string | Inbound routing policy name in match |No|
| **OutPolicyId** | string | Outgoing routing policy id in match |No|
| **OutPolicyName** | string | Name of the outbound routing policy in match |No|

#### VRoute

| Field Name | Type | Description Information | Required |
|:---|:---|:---|:---|
| **NetworkId** | string | Network Instance ID |No|
| **Routes** | array[[*SimpleRoute*](#simpleroute)] | The route corresponding to this network instance |No|

## Example

### Request Example
    
```
https://api.genesissai.com/?Action=GetUGNRouteTable
&ProjectId=QCvgkWeh
&UGNID=VwptbMxl
&Type=YlkaMOMa
```

### Response Example
    
```json
{
  "Action": "GetUGNRouteTableResponse",
  "RetCode": 0,
  "Routes": [
    {
      "DstAddr": "fAHJcMtE",
      "NexthopID": "vZDcdnBj",
      "NexthopRegion": "dgMYWzEd",
      "NexthopRegionID": 1,
      "NexthopType": "gGkNeCqn",
      "Priority": 2
    }
  ],
  "UGNID": "FAQELVHF",
  "VRoutes": "BPilasKo"
}
```





