# Manage Routing Tables ## Prerequisites Authenticate - Submit your user credentials, Client ID, and Client Secret for OAuth2 authentication. Refer to [API Authentication](https://docs.equinix.com/equinix-api/api-authentication.md) for instructions on how to call the OAuth API to validate and authenticate your credentials. ## Update Routing Tables To trigger an update of your Fabric Cloud Router's routing tables, send a `POST` request to the [`/fabric/v4/routers/{uuid}/actions`](https://docs.equinix.com/api-catalog/fabricv4.md#operation/createCloudRouterAction) endpoint. | | **`POST /fabric/v4/routers/{uuid}/actions`** | | ---------------- | -------------------------------------------- | | Method | `POST` | | URL or Endpoint | `/fabric/v4/routers/{uuid}/actions` | | Headers | `Authorization`, `Content-Type` | | Path Parameters | `uuid` | | Query Parameters | Not applicable | | Body Parameters | `type` | Sample curl request: ``` curl -X POST 'https://api.equinix.com/fabric/v4/routers/{router_uuid}/actions' -H 'content-type: application/json' -H 'authorization: Bearer ' -d '{     "type": "ROUTE_TABLE_ENTRY_UPDATE" }' ``` Body parameters: * `type` (required) *string* - The routing table management action. To update your routing tables, use `ROUTE_TABLE_ENTRY_UPDATE`. To see all the prefixes learned via BGP, use `RECEIVED_ROUTE_ENTRY_UPDATE`. To See the prefixes that FCR is sending via BGP, use `ADVERTISED_ROUTE_ENTRY_UPDATE`. * `connection` (optional) *object* - An object that contains a `uuid` field to specify a connection. Only required for `RECEIVED_ROUTE_ENTRY_UPDATE` and `ADVERTISED_ROUTE_ENTRY_UPDATE` types. For complete parameter information and examples, see the [API Reference](https://docs.equinix.com/api-catalog/fabricv4.md#operation/createCloudRouterAction). Sample response: ``` {     "type": "ROUTE_TABLE_ENTRY_UPDATE",     "uuid": "37c10edc-ba2e-4240-a850-8a48f9c47d00",     "state": "PENDING",     "changeLog": {         "createdDateTime": "2021-07-15T19:30:29.526Z",         "updatedDateTime": "2021-08-15T19:30:29.526Z"     } } ``` ## Get Routing Tables Management Requests To get a list of routing tables management requests, send a `GET` request to the [`/fabric/v4/routers/{uuid}/actions`](https://docs.equinix.com/api-catalog/fabricv4.md#tag/Cloud-Routers/operation/getCloudRouterActions) endpoint. User the `state` query parameter to filter the response by the state of the request. | | `GET /fabric/v4/routers/{uuid}/actions` | | ---------------- | --------------------------------------- | | Method | `GET` | | URL or Endpoint | `/fabric/v4/routers/{uuid}/actions` | | Headers | `Authorization` | | Path Parameters | `uuid` | | Query Parameters | `state` | | Body Parameters | Not applicable | This API retrieves routing tables management actions requests. **Sample curl request** ``` curl -X GET 'https://api.equinix.com/fabric/v4/routers/{router_uuid}/actions?state=' -H 'authorization: Bearer ' ``` Query parameter: * `state` (optional) *string* - Action execution status. Applicable values: `PENDING`, `SUCCEEDED`, or `FAILED`. Sample response: ``` {     "type": "ROUTE_TABLE_ENTRY_UPDATE",     "uuid": "37c10edc-ba2e-4240-a850-8a48f9c47d00",     "state": "PENDING",     "changeLog": {         "createdDateTime": "2021-07-15T19:30:29.526Z",         "updatedDateTime": "2021-08-15T19:30:29.526Z"     } } ``` ## Search Routing Tables Management Requests To search routing tables management requests, send a `POST` request to the [`/fabric/v4/routers/{routerId}/actions/search`](https://docs.equinix.com/api-catalog/fabricv4.md#tag/Cloud-Routers/operation/searchRouterActions) endpoint, specifying the search criteria in the body of the request. | | `POST /fabric/v4/routers/{routerId}/actions/search` | | ---------------- | --------------------------------------------------- | | Method | `POST` | | URL or Endpoint | `/fabric/v4/routers/{routerId}/actions/search` | | Headers | `Authorization`, `Content-Type` | | Path Parameters | `routerId` | | Query Parameters | Not applicable | | Body Parameters | `filter`, `pagination`, `sort` | Sample curl request: ``` curl -X POST 'http: //api.equinix.com/fabric/v4/routers/{router_uuid}/actions/search' -H 'content-type: application/json' -H 'authorization: Bearer ' -d '{   "filter": {     "and": [       {         "property": "/type",         "operator": "IN",         "values": [           "ROUTE_TABLE_ENTRY_UPDATE",           "RECEIVED_ROUTE_ENTRY_UPDATE"         ]       },       {         "property": "/state",         "operator": "=",         "values": [           "SUCCEEDED"         ]       },       {         "property": "/connection/uuid",         "operator": "IN",         "values": [           "3066ab1d-af87-49d7-8a14-c9bdb57ac809"         ]       }     ]   },   "pagination": {     "offset": 0,     "limit": 1   },   "sort": [     {       "property": "/changeLog/createdDateTime",       "direction": "DESC"     }   ] }' ``` Notable body parameters: * `filter` (required) *object* - The object that defines your search conditions. * `and` (required) *array\[object]* - An array object that serves as the logical operator applied on the search objects in the array. You can search on: * `property` (required) *string* - Search field parameter. Note that the property value determines the list of applicable operators and values. Applicable values: `"/name"`, `"/uuid"`, `"/state"`, `"/location/metroCode"`, `"/location/metroName"`, `"/package/code"` and an all-category search `"\*"`. * `operator` (required) *string* - Search field parameter operator. Applicable values: `"="`, `"!="`, `">"`, `">="`, `"<"`, `"<="`, `BETWEEN`, `LIKE`, `IN`, `"NOT BETWEEN"`, `"NOT LIKE"`, `"NOT IN"`. * `value` (required) *array\[string]* - Search field parameter value. * `pagination` *object* - Optional object containing search results pagination settings with `offset` *integer* and `limit` *integer* fields. * `sort` *object* - Optional object that defines your search result sorting settings with `direction` *string* and `property` *string* fields. For a complete list of searchable properties, pagination limits, and sortable properties, see the [API reference](https://docs.equinix.com/api-catalog/fabricv4.md#operation/searchCloudRouters). Sample response: ``` {   "pagination": {     "offset": 0,     "limit": 1,     "total": 2,     "prev": null,     "next": null   },   "data": [     {       "href": "https://api.equinix.com//fabric/v4/routers/a1c6b7fd-aead-410a-96b4-b1dfa1071700/actions/1e9414f1-763e-4c0a-86c6-0bc8336048d9",       "uuid": "1e9414f1-763e-4c0a-86c6-0bc8336048d9",       "type": "RECEIVED_ROUTE_ENTRY_UPDATE",       "state": "SUCCEEDED",       "connection": {         "uuid": "3066ab1d-af87-49d7-8a14-c9bdb57ac809"       },       "operation": {         "bgpIpv4RoutesCount": 6,         "bgpIpv6RoutesCount": 6       },       "changeLog": {         "createdDateTime": "2024-01-01T01:00:00.000Z",         "updatedDateTime": "2024-01-01T01:01:00.000Z"       }     }   ] } ```