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 | |
|---|---|
| Method | POST |
| URL or Endpoint | /fabric/v4/routers/search |
| Headers | Authorization, Content-Type |
| Path Parameters | Not applicable |
| Query Parameters | Not applicable |
| Body Parameters | filter, 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.
-
paginationobject - Optional object containing search results pagination settings withoffsetinteger andlimitinteger fields. -
sortobject - Optional object that defines your search result sorting settings withdirectionstring andpropertystring 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} | |
|---|---|
| Method | GET |
| URL or Endpoint | /fabric/v4/routers/{uuid} |
| Headers | Authorization, Content-Type |
| Path Parameters | uuid |
| Query Parameters | Not applicable |
| Body Parameters | Not 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} | |
|---|---|
| Method | PATCH |
| URL or Endpoint | /fabric/v4/routers/{uuid} |
| Headers | Authorization, Content-Type |
| Path Parameters | uuid |
| Query Parameters | Not applicable |
| Body Parameters | op, 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, orremove.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} | |
|---|---|
| Method | DELETE |
| URL or Endpoint | /fabric/v4/routers/{uuid} |
| Headers | Authorization, Content-Type |
| Path Parameters | uuid |
| Query Parameters | Not applicable |
| Body Parameters | Not 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>'