Skip to main content

Managing Fabric Cloud Routers

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.

Search and Retrieve Fabric Cloud Routers

This API request retrieves Fabric Cloud Router instances that match provided search criteria. Send a POST request to the /fabric/v4/routers/search endpoint, specifying your criteria in the body of the request.

POST /fabric/v4/routers/search
MethodPOST
URL or Endpoint/fabric/v4/routers/search
HeadersAuthorization, Content-Type
Path ParametersNot applicable
Query ParametersNot applicable
Body Parametersfilter, pagination, sort

Sample curl request:

curl -X POST 'http: //api.equinix.com/fabric/v4/routers/search'  
-H 'content-type: application/json'
-H 'authorization: Bearer <token>'
-d '{
    "filter": {
        "and": [
            {
                "property": "/name",
                "operator": "LIKE",
                "values": [
                    "%Test%"
                ]
            },
            {
                "property": "/state",
                "operator": "=",
                "values": [
                    "PROVISIONED"
                ]
            },
            {
                "property": "/project/projectId",
                "operator": "=",
                "values": [
                    "995072000433550"
                ]
            },
            {
                "property": "/location/metroCode",
                "operator": "=",
                "values": [
                    "SV"
                ]
            }
        ]
    },
    "pagination": {
        "offset": 0,
        "limit": 20
    },
    "sort": [
        {
            "direction": "DESC",
            "property": "/changeLog/createdDateTime"
        }
    ]
}'

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": 20,
        "total": 1,
        "next": "/search?offset=4&limit=2",
        "previous": "/search?offset=0&limit=2"
    },
    "data": [
        {
            "href": "https://api.equinix.com/fabric/v4/routers/201b7346-a9eb-42fe-ae7a-08148c71928d",
            "uuid": "201b7346-a9eb-42fe-ae7a-08148c71928d",
            "state": "PROVISIONED",
            "type": "XF_ROUTER",
            "name": "My-Fabric-Cloud-Router",
            "location": {
                "metroCode": "HH"
            },
            "package": {
                "code": "LAB"
            },
            "order": {
                "purchaseOrderNumber": "1-129105284100"
            },
            "project": {
                "projectId": "12345"
            },
            "notifications": [
                {
                    "type": "ALL",
                    "emails": [
                        "abc@abc.com"
                    ]
                }
            ],
            "account": {
                "accountNumber": 123
            },
            "bgpIpv4RoutesCount": 0,
            "bgpIpv6RoutesCount": 0,
            "connectionCount": 0,
            "changeLog": {
                "createdBy": "abc@xyz.com",
                "createdByFullName": "abc",
                "createdByEmail": "abc@xyz.com",
                "createdDateTime": "2021-09-24T06:59:46Z"
            }
        }
    ]
}

Get Specified Fabric Cloud Router

This API request retrieves details of a specified Fabric Cloud Router, send a GET request to the /fabric/v4/routers/{uuid} endpoint with the uuid in the path of the request.

GET /fabric/v4/routers/{uuid}
MethodGET
URL or Endpoint/fabric/v4/routers/{uuid}
HeadersAuthorization, Content-Type
Path Parametersuuid
Query ParametersNot applicable
Body ParametersNot applicable

Sample curl request:

curl -X  
GET 'https://api.equinix.com/fabric/v4/routers/{router_uuid}'
-H 'content-type: application/json'
-H 'authorization: Bearer <token>'

Sample response:

{  
    "href": "https://api.equinix.com/fabric/v4/routers/201b7346-a9eb-42fe-ae7a-08148c71928d",
    "uuid": "201b7346-a9eb-42fe-ae7a-08148c71928d",
    "state": "PROVISIONED",
    "type": "XF_ROUTER",
    "name": "My-Fabric-Cloud-Router",
    "location": {
        "metroCode": "HH"
    },
    "package": {
        "code": "LAB"
    },
    "order": {
        "purchaseOrderNumber": "1-129105284100"
    },
    "project": {
        "projectId": "12345"
    },
    "notifications": [
        {
            "type": "ALL",
            "emails": [
                "abc@abc.com"
            ]
        }
    ],
    "account": {
        "accountNumber": 123
    },
    "bgpIpv4RoutesCount": 0,
    "bgpIpv6RoutesCount": 0,
    "distinctIpv4PrefixesCount": 4,
    "distinctIpv6PrefixesCount": 4,
    "connectionCount": 0,
    "changeLog": {
        "createdBy": "abc@xyz.com",
        "createdByFullName": "abc",
        "createdByEmail": "abc@xyz.com",
        "createdDateTime": "2021-09-24T06:59:46Z"
    }
}

Update a Fabric Cloud Router

To update a Fabric Cloud Router, send a PATCH request to the /fabric/v4/routers/{routerId} endpoint with the parameters you are updating in the body of the request. You can update the name or change the package.

PATCH /fabric/v4/routers/{uuid}
MethodPATCH
URL or Endpoint/fabric/v4/routers/{uuid}
HeadersAuthorization, Content-Type
Path Parametersuuid
Query ParametersNot applicable
Body Parametersop, path, value

Sample curl request:

curl -X  
PATCH 'https: //api.equinix.com/fabric/v4/routers/{router_uuid}'
-H 'content-type: application/json'
-H 'authorization: Bearer <token>'
-d '[
    {
        "op": "replace",
        "path": "/name",
        "value": "Cloud-Router-2"
    }
]'

Notable Body Parameters:

  • op (required) string - Update request type. Applicable values: replace, add, or remove.
  • path (required) string - Parameter path of the value you are updating. Applicable values: "/name" or "/package/code".
  • value (required) string - The new parameter value.

For a complete list of updatable fields and their values, see the API reference.

Delete Fabric Cloud Router

To delete a Fabric Cloud Router, send a DELETE request to the /fabric/v4/routers/{uuid} endpoint. Specify the the router you want to delete by uuid in the path.

DELETE /fabric/v4/routers/{uuid}
MethodDELETE
URL or Endpoint/fabric/v4/routers/{uuid}
HeadersAuthorization, Content-Type
Path Parametersuuid
Query ParametersNot applicable
Body ParametersNot applicable

Sample curl request:

curl -X  
DELETE 'https://api.equinix.com/fabric/v4/routers/{router_uuid}'
-H 'content-type: application/json'
-H 'authorization: Bearer <token>'