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?
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
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
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?
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
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!
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
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?
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.
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?
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.
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
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
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,
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?
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,
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?
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?
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://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
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
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?
Can I create L3 connections through the API? I can only see L2 connections in the API documentation
Regards
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
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.
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?
Equinix Fabric™
Equinix Fabric™ offers various functions to connect to our highly reliable, secure & network rich fabric instantaneously.