Developer Forum Equinix Fabric™ APIs
 The Developer Forum is shutting down. Please join the Equinix Community to participate in new discussions.
API User | 1 Replies | 86 Views | Last Reply: Wednesday, August 2, 2023 - 03:01

Using the GET /fabric/v4/connections/{uuid}/stats API call, i now get a 500 internal server error with the following message:

[
    {
        "errorCode": "EQ-3033010",
        "errorMessage": "Internal server error.",
        "details": "Please check the request payload and submit the request again.",
        "correlationId": "1028656-0000-105679634794-api",
        "additionalInfo": [
            {
                "reason": "Internal server error."
            }
        ]
    }
]

Nothing has changes in my code that utelizes this endpoint and i get the same issues with Postman.

Are there issues or has anything changed with this API endpoint?

API User | 1 Replies | 85 Views | Last Reply: Tuesday, August 29, 2023 - 04:56

Hello Equinix,

I have a question regarding the creation of a new, redundant connection to Azure with API v4.
From "Guide to v3-to-v4 APIs Migration" I see that I should use the connections/bulk endpoint.
In the Knowledge Center for "Connect to Microsoft Azure" the simple connection endpoint is shown.
Are both valid? Specifically, can I use 2 calls to the connection endpoint to built a redundant connection to Azure?
In the API Reference I didn't find any reference for creating connections using the bulk endpoint.
That's what got me confused (among other things).

Thanks for your help

API User | 2 Replies | 87 Views | Last Reply: Tuesday, August 29, 2023 - 03:51

I would like to use the 【Create Connection】 API of EquinixFabric.
We have confirmed the following two API details, but the contents are different.
Does both parameters work? Or are there any conditions for proper use?

The following are examples of the different parameters.

API catalog(https://developer.equinix.com/catalog/fabricv4)
Connections >> [POST] Create Connection
type:"VG_VC" "EVPL_VC" "EPL_VC" "EC_VC" "IP_VC" "ACCESS_EPL_VC" "EIA_VC" "EVPLAN_VC" "EPLAN_VC"

API Reference(https://developer.equinix.com/docs?page=/dev-docs/fabric/overview)
API Reference >> Fabric v4 APIs - Recommended >> Create Connection >> Body parameters
type:EVPL_VC、ACCESS_EPL_VC、IP_VC、EVPLAN_VC

API User | 0 Replies | 94 Views | Last Reply: Wednesday, March 8, 2023 - 09:00

I am able to successfully create a connection to "AWS Direct Connect" via the APIs.

However, the docs recommends in step 5:

5. Validate your AWS Account ID
Use the Validate Connection Authorization Key API request to verify that your AWS Account ID can be used to create a connection to the selected service profile in the given metro.

Doing a POST to /fabric/v4/connections/validate

{
    "filter": {
        "and": [
            {
                "property": "/zSide/accessPoint/authenticationKey",
                "operator": "=",
                "values": [
                    "123456789"
                ]
            },
            {
                "property": "/zSide/accessPoint/profile/uuid",
                "operator": "=",
                "values": [
                    "69ee618d-be52-468d-bc99-00566f2dd2b9"
                ]
            }
        ]
    }
}

Always returns a 400 Bad Request

[
  {
    "errorCode": "EQ-3142601",
    "errorMessage": "Error while validating Authorization Key",
    "details": "The connection type is not supported",
    "correlationId": "null-0000-104889776726-api"
  }
]

 

On the other hand, I can validate an Azure authentication Key and get a successfull response.

Am I missing something for the AWS validation?

API User | 2 Replies | 103 Views | Last Reply: Friday, February 3, 2023 - 23:21

Hello,

I would like to create a L2 connection in the sandbox but I'm having some problems. I can get a list of ports but I can't get a service profile using GET /fabric/v4/serviceProfiles. When I try to create a service profile I get the message "PENDING APPROVAL" but I can't find a way to approve this service profile.

What would be the best way to test the setup of L2 connections to Azure, AWS and Google in the the sadbox environment?

Any help is appreciated.

Thanks

API User | 3 Replies | 236 Views | Last Reply: Monday, April 17, 2023 - 23:02

I am trying to generate token using this method but in Postman:
 

Access Token using grant_type = client_credentials (Recommended).

POST 'https://api.equinix.com/oauth2/v1/token' -H "content-type: application/json" -d '{ "grant_type": "client_credentials", "client_id": "******", "client_secret": "****" }'

I have the body set as specified in the link: https://developer.equinix.com/docs?page=/dev-docs/fabric/overview but when I execute the query I get this error:

{

    "errorDomain": "apps-fqa",

    "errorTitle": "Unable to Process the Request",

    "errorCode": "S1002",

    "developerMessage": "Failed to execute the ExtractVariables: extractjsonparams",

    "errorMessage": "Unable to Process the Request, Please try again later."

}

I have a client-id and client_sercret generated and have tested it with Terraform. What am I missing?

 

Thanks!

API User | 3 Replies | 75 Views | Last Reply: Friday, November 11, 2022 - 23:48

Hi,

I have a circuit and I'm trying to change the bandwidth using

PATCH /fabric/v4/connections/{id}

body (json): 

{

   "op": "replace",

   "path": "/bandwidth",

   "value": 900

}


But I keep getting this error code and there seems to be no way around it.

[

    {

        "errorCode": "EQ-3142506",

        "errorMessage": "Invalid request",

        "details": "Media type is not supported",

        "correlationId": "X-X-X-api"

    }

]

 

Would appreciate the help.

 

Thanks

API User | 2 Replies | 101 Views | Last Reply: Wednesday, March 8, 2023 - 08:44

When setting up an Azure ExpressRoute, how is the redundant connection configured? Do I create 2 separate connections, and have one be redundant.priority PRIMARY, and the other SECONDARY? 

What's the difference between the "redundancy" in the connection, and the "redundancy" under the aside/zside port configuration?

API User | 3 Replies | 72 Views | Last Reply: Friday, October 7, 2022 - 20:30

I created the following query filter to use with the https://api.equinix.com/fabric/v4/connections/search API to retrieve all "non-deprovisioned" connections:

{

   "filter": {

      "AND": [

        {

          "property": "/operation/equinixStatus",

          "operator": "=",

          "values": [

              "PENDING_APPROVAL",

              "PROVISIONING",

              "PROVISIONED",

              "NOT_PROVISIONED",

              "REJECTED",

              "PENDING_BGP_PEERING"

          ]

        },

        {

            "property": "/aSide/accessPoint/location/metroCode",

            "operator": "=",

            "values": [ "SV" ]

        }

      ]

   },

   "pagination": {

       "limit": 3000,

       "offset": 0

    },

    "sort": [

      {

          "property": "/name",

          "direction": "DESC"

      }

    ]

}

The results of the above query returned multiple connections that had an equinixStatus of DEPROVISIONED.

Is there an error in the above query filter as I can't see why there would be any connections returned with an equinixStatus of a value other than one in the above list of values specified in the filter?

I even simplified the values array to only include PROVISIONED and still got results containing DEPROVISIONED.

 

API User | 3 Replies | 94 Views | Last Reply: Monday, December 26, 2022 - 13:57

I'm trying to create a primary and secondary GCP connection.  I created a primary connection, however, when I try to create the secondary connection I get the following response:

[

  {

    "errorCode": "EQ-3142303",

    "errorMessage": "Only Primary connection allowed for this CSP",

    "details": "Given service profile does not allowed redundant connection",

    "correlationId": "null-0000-103912200151-api",

    "additionalInfo": [

      {

        "property": "/redundancy/priority"

      }

    ]

  }

]

However, if I get the service profile details via the https://api.equinix.com/fabric/v4/serviceProfiles/{UUID} api, in the "metadata" section there is an attribute "redundantProfileId" which lists the profile Id I was using to try and create a redundant connection.  Am I misunderstanding this as it seems that since there is a "redundantProfileId" listed that the profile should support redundant connections?

API User | 4 Replies | 151 Views | Last Reply: Tuesday, September 13, 2022 - 04:51

I sent a request to setup a primary and secondary connection with the body containing data structured like the following:

{

  "data": [

     {

        "type": "EVPL_VC",

        ...

     },

     {

        "type": "EVPL_VC",

        ...

     }

   ]

}

When sending this I get the following error response which is obviously not correct:

[

  {

    "errorCode": "EQ-3142501",

    "errorMessage": "Invalid argument value passed",

    "details": "Invalid request type",

    "correlationId": "null-0000-103911409258-api",

    "additionalInfo": [

        {

            "property": "/type",

            "reason": "Allowed values: EVPL_VC, EPL_VC, IP_VC, ACCESS_EPL_VC"

        }

    ]

  }

]

The "type" field in both cases is set to a valid value, "EVPL_VC". 

If I just create a single connection with either of the entries of the "data" array the connections setup properly.

 

It would be nice if the page to leave questions permitted preformatted text.

API User | 1 Replies | 87 Views | Last Reply: Wednesday, April 13, 2022 - 19:37

Hello

When i create a zSide Service Token, then only connection.type available seems : EVPL_VC
However on GET
/fabric/v4/connections/{connectionId} enum is : "VG_VC" "EVPL_VC" "EPL_VC" "EC_VC" "GW_VC"

Can you confirm that EVPL_VC is the only value available on service token creation or could you describe the available values ?

I see some "action" on Connection ( POST /fabric/v4/connections/{connectionId}/actions )
If I create a zSide Service Token and my customer create the aSide using the token. Will it create a Connection in PENDING ? Or connection are directly validated when using Service Token ?

Service Token seems to be a way to do an order quicker than using the Service Profile of a company.
Usualy I list my customer Connections using GET /ecx/v3/l2/seller/connections with profileId argument. Is there a way to link Connection created by Service Token to a Service Profile ?

I tried to use Service Token endpoints on sandbox to get my answers, but call failed, it doesn't seem available on sandbox.

Best regards

API User | 3 Replies | 133 Views | Last Reply: Saturday, April 9, 2022 - 01:31

Hello

I have error with "Error message" of the API.

Endpoint :

 - https://api.equinix.com/fabric/v4/serviceTokens/{serviceTokenId}

$ curl --request GET --url "https://api.equinix.com/fabric/v4/serviceTokens/e72498f3-xxxx-xxxx-xxxx-87df25f05e5a" --header 'authorization: Bearer xxxx'
> Result OK

I change only one char to get an unknown service token :

$ curl --request GET --url "https://api.equinix.com/fabric/v4/serviceTokens/e72498f3-xxxx-xxxx-xxxx-87df25f05e5b" --header 'authorization: Bearer xxxx'
Warning: Binary output can mess up your terminal. Use "--output -" to tell 
Warning: curl to output it to your terminal anyway, or consider "--output 
Warning: <FILE>" to save to a file.

The answer is not a readable json.

 

This does not occur with every error. For example the ports endpoints work without error.

I try a very simple call which work :

$ curl --request GET --url "https://api.equinix.com/fabric/v4/ports/24ce23cd-c42e-4746-8cdd-94cc363a0b3c" --header 'authorization: Bearer xxxxx'
> Result OK

I change only one letter in the port uuid :

$ curl --request GET --url "https://api.equinix.com/fabric/v4/ports/24ce23cd-c42e-4746-8cdd-94cc363a0b3d" --header 'authorization: Bearer xxxxx'
{"errorCode":"ERR-PRT-000-00","errorMessage":"System is unable to process the request at this time due to some internal error. Please contact support@equinix.com for more info","moreInfo":"","property":"ERROR"}
 

On this endpoint i have a readable json as expected.

 

On serviceTokens i tried to add many headers
 - Accept: application/json
 - Content-Type: application/json

But i dont find a solution.

 

The curl i tried are the same as the documentation :

 - https://developer.equinix.com/catalog/fabricv4#operation/getServiceTokenByUUID

 

Could you check why i have this bad error message ?

Best regards

API User | 2 Replies | 76 Views | Last Reply: Monday, March 28, 2022 - 02:43

Hello,

I'm looking to migrate my workflow to the new feature using "Service Token" by providing z-side token to my customers.

Today there is 2 features that seems missing.

 - I can't postponned the expiration date. Is it planned to be able to do this ?

 - Can i know the Connection (uuid) created when the Service Token is consumed ? it doesn't seems available on the API.

Best regards,

API User | 1 Replies | 80 Views | Last Reply: Thursday, February 24, 2022 - 10:08

We've noticed a change in the API response since the introduction of pagination. 

When requesting the configured services (using /ecx/v3/l2/buyer/connections?pageNumber={page}&pageSize=1) we receive the same service multiple times. When we move to a next page the advance the pointer to the next record which makes us believe this is actually the "offset". 

So pageNumber points to the n-th record and pageSize determines how many they return, this means that size=100 on page 1 (start from 0) you get only 1 new record and 99 old ones. 

ex.  if you want record 100, with page size 100, you don't need page 1, you need page 100.

 

I'm guessing this counts as a bug in the API, no?

 

 

API User | 7 Replies | 96 Views | Last Reply: Friday, February 25, 2022 - 06:45

Hello

Endpoint : GET https://api.equinix.com/ecx/v3/l2/seller/connections

I use it with profileId filter and i have many results.

I go from page to page to list the connection i have on one specific port.

I would like to reduce those calls using the filter "portName".

However the result is always empty :

 - {"isFirstPage":true,"isLastPage":true,"totalCount":0,"pageSize":20,"content":[],"pageNumber":0}

Does somebody succeded to make it work ?

Best regards,

API User | 4 Replies | 120 Views | Last Reply: Wednesday, February 23, 2022 - 21:49

Hi, 

We noticed that on 12 February you introduced a breaking change on the API which is undocumented. 

When doing https://developer.equinix.com/catalog/buyerv3 the response does no longer contain "isLastPage" but contains "last" which is not documented. 

 

'first': True, 'last': False, 'number': 0, 'numberOfElements': 20, 'size': 20, 'sort': [{'ascending': False, 'descending': True, 'direction': 'DESC', 'ignoreCase': False, 'nullHandling': 'NATIVE', 'property': 'created_date'}], 'totalElements': 8051, 'totalPages': 403}

 

Can we have an explanation on this and get it back aligned with the documentation?

API User | 1 Replies | 78 Views | Last Reply: Wednesday, July 28, 2021 - 18:48

Hi, i have been trying to run this API request and always get {"errorCode":"IC-999-99","errorMessage":"Internal Error"}

 

curl --location --request GET  https://api.equinix.com/ecx/v3/l2/common/metros -H "Content-Type: application/json" -H "Authorization: Bearer --------k2wFtBdLcAb8kTdCOfHM"

Couls you assist or tell me what i'm doing wrong?

API User | 1 Replies | 213 Views | Last Reply: Friday, July 30, 2021 - 19:15

Hi,

 

Is it possible to create a private connection to Salesforce via the Equinix fabric API? (Or indeed any other APIs)?

 

I checked the documentation here:

https://docs.equinix.com/en-us/Content/Interconnection/Fabric/connections/Fabric-connect-salesforce.htm

https://developer.equinix.com/docs?page=/dev-docs/fabric/overview

But couldn’t find an API guide as there is for  creating connectivity to other cloud service providers. E.g. Connect to AWS

 

NB: I also tried to query using your chat on the dev platform, but this is only a basic bot that can answer only the most basic of queries.

 

Regards,

 

Dave

API User | 1 Replies | 91 Views | Last Reply: Sunday, July 18, 2021 - 04:30

Hello,

I see on Fabric portal a new feature named : «Service Tokens»

This seems to be the thing I need to give to my customer a better user experience.

I dont see API documentation about this new feature on :
 - https://developer.equinix.com/catalog

Did i miss the documentation ?

Is it possible to list every token created ?
Is there a way the refresh the expiration of a token to give back 30 days when there are only few day left ?

On a connection, can i know which token was used to create it ? ( will it take the place of the authorizationKey ?)

Best regards,
Louis

API User | 2 Replies | 91 Views | Last Reply: Sunday, July 18, 2021 - 04:32

Hi, 

I'm trying to get the price of L2 connections from a NE device. I found the below API call, which seems to work only for physical ports, not for NE devices:

https://developer.equinix.com/catalog/buyerv3#operation/getL2PricesUsingGET

 

How can get the same pricing functionality but for L2 connections originated from a NE device?

API User | 1 Replies | 194 Views | Last Reply: Friday, August 28, 2020 - 11:08

Can I create L3 connections through the API? I can only see L2 connections in the API documentation

 

Regards

API User | 0 Replies | 154 Views | Last Reply: Friday, July 10, 2020 - 04:52

 

Hello,

I'm playing around with the Sandbox APIs and stumbled upon this problem.

When trying to get a list a services I get this error message:

Request

Get https://sandboxapi.equinix.com/ecx/v3/l2/serviceprofiles/services

Result

{
    "fault": {
        "faultstring": "Invalid API call as no apiproduct match found",
        "detail": {
            "errorcode": "keymanagement.service.InvalidAPICallAsNoApiProductMatchFound"
        }
    }
}

In the long run I'd like to implement the Sandbox APIs in our production environment to serve as a kind-of dry-run feature. That means if we start a dry-run of our processes they will point to the Sandbox environment instead of the production APIs.
Is it wise to do that or is the data for the Sandbox APIs changing often? I've read somewhere that the Sandbox environment is updated every couple of months.

Thanks

 

API User | 2 Replies | 214 Views | Last Reply: Tuesday, July 7, 2020 - 01:54

Is there any way to increase or decrease speed value and speed unit of an existing connection and without recreating the connection? In the documentation it says  PATCH method for /ecx/v3/l2/connections/{uuid} only accepts AccessKey, SecretKey params

 

Thanks.

API User | 1 Replies | 161 Views | Last Reply: Wednesday, May 20, 2020 - 23:42

Hi,

I have been playing around with your ECXF APIs in Sandbox and I was wondering whether I can request new ports so that I can use distinct ports to test out different use cases?