Skip to main content

Manage Routing Tables

Prerequisites

Authenticate - Submit your user credentials, Client ID, and Client Secret for OAuth2 authentication. Refer to API Authentication 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 endpoint.

POST /fabric/v4/routers/{uuid}/actions
MethodPOST
URL or Endpoint/fabric/v4/routers/{uuid}/actions
HeadersAuthorization, Content-Type
Path Parametersuuid
Query ParametersNot applicable
Body Parameterstype

Sample curl request:

curl -X  
POST 'https://api.equinix.com/fabric/v4/routers/{router_uuid}/actions'
-H 'content-type: application/json'
-H 'authorization: Bearer <token>'
-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.

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 endpoint. User the state query parameter to filter the response by the state of the request.

GET /fabric/v4/routers/{uuid}/actions
MethodGET
URL or Endpoint/fabric/v4/routers/{uuid}/actions
HeadersAuthorization
Path Parametersuuid
Query Parametersstate
Body ParametersNot 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=<state>'
-H 'authorization: Bearer <token>'

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 endpoint, specifying the search criteria in the body of the request.

POST /fabric/v4/routers/{routerId}/actions/search
MethodPOST
URL or Endpoint/fabric/v4/routers/{routerId}/actions/search
HeadersAuthorization, Content-Type
Path ParametersrouterId
Query ParametersNot applicable
Body Parametersfilter, 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 <token>'
-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.

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"
      }
    }
  ]
}