Equinix Cloud Routers API

Cloud Routers

OpenAPI Specification

equinix-cloud-routers-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Equinix API Authentication Cloud Routers API
  description: 'Equinix APIs use the OAuth 2.0 for authentication and authorization. Equinix supports the resource owner password and the client credentials flow.

    To begin, obtain OAuth 2.0 client credentials from the Equinix Developer Console under "My Apps". Then your client application  requests an access token from the Equinix API Authorization endpoint, extracts the access_token from the response, and sends the Bearer token to the API that you want to access'
  termsOfService: https://www.equinix.com/about/legal/terms
  contact:
    name: Equinix API Support
    url: https://docs.equinix.com/api-support.htm
  version: '1.2'
servers:
- url: https://api.equinix.com
tags:
- name: Cloud Routers
  description: Cloud Routers
paths:
  /fabric/v4/connections/{connectionId}/advertisedRoutes/search:
    post:
      tags:
      - Cloud Routers
      summary: Search Advertised Routes
      description: The API provides capability to get list of user's advertised routes using search criteria, including optional filtering, pagination and sorting
      operationId: searchConnectionAdvertisedRoutes
      parameters:
      - name: connectionId
        in: path
        description: Connection Id
        required: true
        schema:
          $ref: '#/components/schemas/ConnectionId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ConnectionRouteSearchRequest'
            examples:
              ConnectionRoutesSearchType:
                $ref: '#/components/examples/ConnectionRoutesSearchByType'
              ConnectionRoutesSearchByState:
                $ref: '#/components/examples/ConnectionRoutesSearchByState'
              ConnectionRoutesSearchByPrefix:
                $ref: '#/components/examples/ConnectionRoutesSearchByPrefix'
              ConnectionRoutesSearchByNextHop:
                $ref: '#/components/examples/ConnectionRoutesSearchByNextHop'
              ConnectionRoutesSearchByMed:
                $ref: '#/components/examples/ConnectionRoutesSearchByMed'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConnectionRouteTableEntrySearchResponse'
              examples:
                advertisedRoutes:
                  $ref: '#/components/examples/CloudRouterAdvertisedRoutesSearchResponse'
                receivedRoutes:
                  $ref: '#/components/examples/CloudRouterReceivedRoutesSearchResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#/components/examples/400'
                dryRun:
                  $ref: '#/components/examples/400_dry_run'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#/components/examples/403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#/components/examples/404'
  /fabric/v4/connections/{connectionId}/receivedRoutes/search:
    post:
      tags:
      - Cloud Routers
      summary: Search Received Routes
      description: The API provides capability to get list of received routes using search criteria, including optional filtering, pagination and sorting
      operationId: searchConnectionReceivedRoutes
      parameters:
      - name: connectionId
        in: path
        description: Connection Id
        required: true
        schema:
          $ref: '#/components/schemas/ConnectionId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ConnectionRouteSearchRequest'
            examples:
              ConnectionRoutesSearchType:
                $ref: '#/components/examples/ConnectionRoutesSearchByType'
              ConnectionRoutesSearchByState:
                $ref: '#/components/examples/ConnectionRoutesSearchByState'
              ConnectionRoutesSearchByMed:
                $ref: '#/components/examples/ConnectionRoutesSearchByMed'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConnectionRouteTableEntrySearchResponse'
              examples:
                advertisedRoutes:
                  $ref: '#/components/examples/CloudRouterAdvertisedRoutesSearchResponse'
                receivedRoutes:
                  $ref: '#/components/examples/CloudRouterReceivedRoutesSearchResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#/components/examples/400'
                dryRun:
                  $ref: '#/components/examples/400_dry_run'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#/components/examples/403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#/components/examples/404'
  /fabric/v4/routers:
    post:
      tags:
      - Cloud Routers
      summary: Create Routers
      description: This API provides capability to create user's Cloud Routers
      operationId: createCloudRouter
      parameters:
      - name: dryRun
        in: query
        description: option to verify that API calls will succeed
        required: false
        schema:
          type: boolean
          default: false
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CloudRouterPostRequest'
            examples:
              CreateLabPackage:
                $ref: '#/components/examples/CreateLabPackage'
              CreateProPackage:
                $ref: '#/components/examples/CreateStandardPackage'
              CreateWithMarketplaceSubscription:
                $ref: '#/components/examples/CreateWithMarketplaceSubscription'
        required: true
      responses:
        '200':
          description: Fabric Cloud Router object
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloudRouter'
              examples:
                cloudRouterResponse:
                  $ref: '#/components/examples/CloudRouterPostResponseExample'
                cloudRouterResponseForMarketplaceSubscription:
                  $ref: '#/components/examples/CloudRouterPostResponseMarketplaceExample'
                cloudRouterResponseDryRun:
                  $ref: '#/components/examples/CloudRouterResponseExampleDryRun'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                invalidPackage:
                  $ref: '#/components/examples/400_invalid_package'
                invalidName:
                  $ref: '#/components/examples/400_invalid_name'
                invalidAccount:
                  $ref: '#/components/examples/400_invalid_account'
                maxLabFcrReached:
                  $ref: '#/components/examples/400_max_lab_fcr_demo'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#/components/examples/401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#/components/examples/403'
        '415':
          description: Unsupported Media Type
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#/components/examples/415'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#/components/examples/500'
  /fabric/v4/routers/{routerId}:
    get:
      tags:
      - Cloud Routers
      summary: Get Routers
      description: This API provides capability to retrieve user's Cloud Routers
      operationId: getCloudRouterByUuid
      parameters:
      - name: routerId
        in: path
        description: Cloud Router UUID
        required: true
        schema:
          $ref: '#/components/schemas/RouterId'
      responses:
        '200':
          description: Fabric Cloud Router object
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloudRouter'
              examples:
                cloudRouterResponse:
                  $ref: '#/components/examples/CloudRouterResponseExample'
                cloudRouterResponseMarketplace:
                  $ref: '#/components/examples/CloudRouterResponseExampleMarketplace'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#/components/examples/401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#/components/examples/403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#/components/examples/404'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#/components/examples/500'
    delete:
      tags:
      - Cloud Routers
      summary: Delete Routers
      description: This API provides capability to delete user's Cloud Routers
      operationId: deleteCloudRouterByUuid
      parameters:
      - name: routerId
        in: path
        description: Cloud Router UUID
        required: true
        schema:
          $ref: '#/components/schemas/RouterId'
      responses:
        '204':
          description: Deleted Cloud Router Successfully
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                invalidState:
                  $ref: '#/components/examples/400_invalid_state'
                GatewayAttached:
                  $ref: '#/components/examples/400_attached_to_gateway'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#/components/examples/401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#/components/examples/403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#/components/examples/404'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#/components/examples/500'
    patch:
      tags:
      - Cloud Routers
      summary: Update Routers
      description: This API provides capability to update user's Cloud Routers
      operationId: updateCloudRouterByUuid
      parameters:
      - name: routerId
        in: path
        description: Cloud Router UUID
        required: true
        schema:
          $ref: '#/components/schemas/RouterId'
      requestBody:
        content:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/CloudRouterUpdateRequest'
            examples:
              UpdatePackage:
                $ref: '#/components/examples/UpdatePackage'
              UpdateName:
                $ref: '#/components/examples/UpdateName'
              UpdateNotificationEmail:
                $ref: '#/components/examples/UpdateNotifications'
              UpdateTermLength:
                $ref: '#/components/examples/UpdateTermLength'
              UpdatePackageAndTermLength:
                $ref: '#/components/examples/UpdatePackageAndTermLength'
        required: true
      responses:
        '200':
          description: Fabric Cloud Router object
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloudRouter'
              examples:
                cloudRouterResponse:
                  $ref: '#/components/examples/CloudRouterPatchResponseExample'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#/components/examples/400_invalid_operation'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#/components/examples/401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#/components/examples/403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#/components/examples/404'
        '415':
          description: Unsupported Media Type
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#/components/examples/415'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#/components/examples/500'
  /fabric/v4/routers/{routerId}/actions:
    get:
      tags:
      - Cloud Routers
      summary: Get Route Table Actions
      description: This API provides capability to fetch all actions for a given cloud router
      operationId: getCloudRouterActions
      parameters:
      - name: routerId
        in: path
        description: Router UUID
        required: true
        schema:
          $ref: '#/components/schemas/RouterId_1'
      - name: state
        in: query
        description: Action state
        schema:
          $ref: '#/components/schemas/ActionState'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloudRouterActionsSearchResponse'
              examples:
                routerActionExample:
                  $ref: '#/components/examples/CloudRouterActionSearchResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#/components/examples/400_invalid_operation'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#/components/examples/401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#/components/examples/403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#/components/examples/404'
        '415':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#/components/examples/415'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#/components/examples/500'
    post:
      tags:
      - Cloud Routers
      summary: Create Route Table Action
      description: This API provides capability to refresh route table and bgp session summary information
      operationId: createCloudRouterAction
      parameters:
      - name: routerId
        in: path
        description: Router UUID
        required: true
        schema:
          $ref: '#/components/schemas/RouterId_1'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CloudRouterActionRequest'
            examples:
              RouteEntriesStatusUpdate:
                $ref: '#/components/examples/RouteEntriesStatusUpdate'
              ReceivedRouteEntriesStatusUpdate:
                $ref: '#/components/examples/ReceivedRouteEntriesStatusUpdate'
              AdvertisedRouteEntriesStatusUpdate:
                $ref: '#/components/examples/AdvertisedRouteEntriesStatusUpdate'
        required: true
      responses:
        '202':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloudRouterActionResponse'
              examples:
                cloudRouterActionExample:
                  $ref: '#/components/examples/CloudRouterActionResponse'
                receivedRouteEntriesExample:
                  $ref: '#/components/examples/CloudRouterReceivedRoutesActionResponse'
                advertisedRouteEntriesExample:
                  $ref: '#/components/examples/CloudRouterAdvertisedRoutesActionResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#/components/examples/400_invalid_operation'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#/components/examples/401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#/components/examples/403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#/components/examples/404'
        '415':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#/components/examples/415'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#/components/examples/500'
  /fabric/v4/routers/{routerId}/actions/search:
    post:
      tags:
      - Cloud Routers
      summary: Search Route Table Actions
      description: This API provides capability to search route table actions for a given cloud router
      operationId: searchRouterActions
      parameters:
      - name: routerId
        in: path
        description: Router UUID
        required: true
        schema:
          $ref: '#/components/schemas/RouterId_1'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CloudRouterActionsSearchRequest'
            examples:
              CloudRouterActionsSearchByType:
                $ref: '#/components/examples/CloudRouterActionsSearchByType'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloudRouterActionsSearchResponse'
              examples:
                routerActionExample:
                  $ref: '#/components/examples/CloudRouterActionSearchResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#/components/examples/400_invalid_sorting'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#/components/examples/401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#/components/examples/403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#/components/examples/404'
        '415':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#/components/examples/415'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#/components/examples/500'
  /fabric/v4/routers/{routerId}/actions/{actionId}:
    get:
      tags:
      - Cloud Routers
      summary: Get Route Table Action by ID
      description: This API provides capability to fetch action status
      operationId: getCloudRouterActionsByUuid
      parameters:
      - name: routerId
        in: path
        description: Router UUID
        required: true
        schema:
          $ref: '#/components/schemas/RouterId_1'
      - name: actionId
        in: path
        description: Action UUID
        required: true
        schema:
          $ref: '#/components/schemas/ActionId_1'
      - name: state
        in: query
        description: Action state
        schema:
          $ref: '#/components/schemas/ActionState'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloudRouterActionResponse'
              examples:
                searchResponseExample:
                  $ref: '#/components/examples/CloudRouterActionResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#/components/examples/400_invalid_operation'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#/components/examples/401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#/components/examples/403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#/components/examples/404'
        '415':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#/components/examples/415'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#/components/examples/500'
  /fabric/v4/routers/{routerId}/commands:
    get:
      tags:
      - Cloud Routers
      summary: Get Commands
      description: This API provides capability to fetch all commands
      operationId: getAllCloudRouterCommands
      parameters:
      - name: routerId
        in: path
        description: Router UUID
        required: true
        schema:
          $ref: '#/components/schemas/RouterId_1'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAllCloudRouterCommands'
              examples:
                getAllCommandsExample:
                  $ref: '#/components/examples/GetAllPingCommandResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#/components/examples/400_invalid_operation_commands'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#/components/examples/401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#/components/examples/403_commands'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#/components/examples/404_commands'
        '415':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#/components/examples/415_commands'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#/components/examples/500_commands'
    post:
      tags:
      - Cloud Routers
      summary: Initiate Command
      description: This API provides capability to initiate Command
      operationId: createCloudRouterCommand
      parameters:
      - name: routerId
        in: path
        description: Router UUID
        required: true
        schema:
          $ref: '#/components/schemas/RouterId_1'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CloudRouterCommandPostRequest'
            examples:
              InitiatePingCommand:
                $ref: '#/components/examples/PostRequestPingCommand'
              InitiateTracerouteCommand:
                $ref: '#/components/examples/PostRequestTracerouteCommand'
        required: true
      responses:
        '202':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloudRouterCommand'
              examples:
                initiatePingCommandsExample:
                  $ref: '#/components/examples/PostResponsePingCommand'
                initiateTracerouteCommandsExample:
                  $ref: '#/components/examples/PostResponseTracerouteCommand'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#/components/examples/400_invalid_operation_commands'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#

# --- truncated at 32 KB (141 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/equinix/refs/heads/main/openapi/equinix-cloud-routers-api-openapi.yml