Developer Forum Equinix Customer Portal APIs
API User | 1 Replies | 40 Views | Last Reply: Monday, April 12, 2021 - 13:33

[creating new thread because follow-ups on the previous thread throws up http 403]

Hi, thanks for following up!  What I'm trying to do here is to reconcile Equinix's view of what cross-connect assets are installed in our patch panels with what's contained in our own internal database.  The aim is two-fold: 1. ensure that Equinix' DB and our DB are ~in sync and 2. to enable us to get local notifications whenever there are asset create / delete events, which can then be used to trigger other work process flows on our side,e.g. sending out to sites to bring links live.

At the moment, only A side cross-connects assets are visible via the API, but A side cross-connects only make up 20% of the installed asset based in our patch panels: the other 80% are Z side cross-connects.  So you can probably see that the current output from an EQX API asset search is not that useful for us, which is a real shame.

We're currently handling this reconciliation by downloading Excel spreadsheets from the portal and manually running comparisons, but this is error-prone and tedious.  What we'd really like is to be able to take the information contained in the Customer Portal report spreadsheets for both A side and Z side cross-connects (the Z-side tab contains the asset IDs), but without having to go to the hassle of downloading daily reports, then passing them through Excel parsing code to pull out the columns that we need.  I.e. the information that we need is already available for download from the portal via API - it's just that it's in Excel Spreadsheet format rather than JSON.

So: can this info be exposed via the API?  This would be a real win and a major time saver.

API User | 1 Replies | 41 Views | Last Reply: Monday, April 5, 2021 - 22:20

How do you query what Z-side cross-connects are installed?  The /v1/assets/search URI only provides A-side cross-connects and if you attempt to post a query for /v1/assets/{assetNumber} where assetNumber refers to a Z side crossconnect, the API returns:

"errors": [
        "code": "EQX-434-4404",
        "message": "No Asset found for the Id:4-xxxxxxxxxxxx"

Running searches / queries for A side cross-connects works fine.

API User | 1 Replies | 62 Views | Last Reply: Friday, October 30, 2020 - 14:45

Need help! 

I tried to use API and create a POST REST API request to raise a Work Visit request to Equinix. but unfortunately returned the EQX-161-403 errors. Please kindly help, no idea what this error message means and how to fix this error.


$workvisit = invoke-restmethod -uri "" -method POST -Headers $postParams -body $postParamsWVJson -ContentType "application/json"

invoke-restmethod : {"errors":[{"code":"EQX-161-403","message":"Contacts (with userName) should be Active and Approved"}],"ticketId":"201030030XXXXXX"}


<<< More details of my Power Shell Script >>>

$postParams = @{}

$postParams.Authorization="Bearer " + $token.access_token

$location = invoke-restmethod -uri "" -method GET -Headers $postParams -ContentType "application/json"

$location2= invoke-restmethod -uri ""  -method GET -Headers $postParams -ContentType "application/json"



$postParamsWV = `

@{"contacts" = 



       "userName" = ""};


       "userName" = ""};




    @{"ibx" = "SAMPLE";




          "accountNumber" = "SAMPLE NUMBER"}




   "serviceDetails" =

        @{schedule =

            @{startDateTime = "2020-05-10T01:00:00Z";

              endDateTime = "2020-05-11T02:00:00Z"



          "visitors" =@(@{"firstName" = "John";

                      "lastName" = "Doe";

                      "company" = "NN Test";

                      "email" = "";

                      "mobilePhoneCountryCode" = "+81";

                      "mobilePhone" = "80-1111-2222";};

                    @{ "userName" = ""}


          escortRequired = $false;

          openCabinet = $false;



$postParamsWVJson = $postParamsWV|convertto-json -depth 100

$workvisit = invoke-restmethod -uri "" -method POST -Headers $postParams -body $postParamsWVJson -ContentType "application/json"



API User | 7 Replies | 94 Views | Last Reply: Saturday, October 31, 2020 - 00:06

Hi all, this is the error I'm getting when calling /v1/orders/workvisit/locations

{'errors': [{'code': 'EQX-161-500',

   'message': 'The system had encountered an unexpected problem and we are tracking it with error code.'}],

'ticketId': '201023052138751'}



API User | 0 Replies | 75 Views | Last Reply: Sunday, June 7, 2020 - 20:35

Hello guys, I am new in using curl and I have a qeustion. 

How it looks the final example autharization form + get smart hands type.


curl -X


-H "content-type: application/json"

-d '{

"grant_type": "client_credentials",

"client_id": "ABCDE12345",

"client_secret": "FGHIJ67890"




curl -X

GET ""

-H "content-type: application/json"

-H "authorization: Bearer qwErtY8zyW1abcdefGHI"


I don't understand how to combine these two example in one  and why I have to use second time

-H "authorization: Bearer qwErtY8zyW1abcdefGHI"

Thank you.

API User | 0 Replies | 65 Views | Last Reply: Tuesday, June 2, 2020 - 04:10

We have been using the /catalog/workvisitv1 API endpoint for a while now and we now have a new validation error that is causing a failure to use the API endpoint:

{"error":"Unable to create access request with Equinix. Status code = 400, error = {\"errors\":[{\"code\":\"EQX-161-6119\",\"fields\":[\"\/attachments\"],\"message\":\"Justification form is mandatory for visiting the IBX : %s. Justification is available to download as part of work visit page in Equinix Customer Portal.\",\"messageParams\":[\"CH3\"]}],\"ticketId\":\"redacted\"}"}

This appears to be a new validation error. I haven't seen anything regarding changes to the published API. Do you guys know if this is a bug or a new requirement? 

API User | 1 Replies | 58 Views | Last Reply: Sunday, May 17, 2020 - 20:48

Hello, I know Equinix has APIs for initiation (i.e Create Shipment order) but I was wondering whether you have plans to introduce Update and Cancel APIs for your services.

API User | 1 Replies | 271 Views | Last Reply: Thursday, March 19, 2020 - 18:27

I'm getting the following error for my work visit requests:

You don't have permission to access this cabinet

I've checked the list that I am sending against the list that is returned via the getLocation endpoint (

Is there any way to determine which cabinet is causing this issue? I have the full payload that I am sending available upon request.



API User | 0 Replies | 329 Views | Last Reply: Thursday, March 5, 2020 - 16:19

Hello Team,


I am new to Equinix API's. I tried searching for API that could be used to retrieve the bill and duration of a specific ticket but failed to get the information.

I see that there are APIs to generate bills periodically but do not see the one that I mentioned earlier.

Could someone from the community or support tream help me with my requirements.

I am looking for some relavant pointers so that I can tweak them as per my requirement.




RHCA(DevOps,Infrastructure & cloud) 

API User | 1 Replies | 423 Views | Last Reply: Wednesday, January 22, 2020 - 10:57

Hi, I'm receving 'The system had encountered an unexpected problem and we are tracking it with error code." error when attempting to post workvisits or returieve location details.

I'm using a correct setof credentials and the correct bearer token but there seems to be an issue with any request I make to the sandboxapi !

                "company":"A corp"


Can anyone help me !



API User | 3 Replies | 446 Views | Last Reply: Friday, January 17, 2020 - 16:59

Which API call should one use to retrieve datacenter visit history?

API User | 5 Replies | 728 Views | Last Reply: Thursday, August 29, 2019 - 18:40

I'm currently getting a 400 response without any sort of indication of what the problem may be. Here is an example request that I am sending with some information redacted:


{ "ibxLocation": { "cages": [ { "cage": "AM2:1234", "accountNumber": "1234" } ], "ibx": "AM2" }, "customerReferenceNumber": null, "serviceDetails": { "estimatedDateTime": "2019-07-27T00:00:00+00:00", "shipmentDetails": { "noOfBoxes": 3, "trackingNumber": [ "123123123" ], "inboundType": "CARRIER", "description": null, "carrierName": "UPS" } }, "contacts": [ { "contactType": "NOTIFICATION", "userName": "", "name": "First Last" }, { "contactType": "ORDERING", "userName": "", "name": "First Last" } ] }


Please let me know if you need any information so that we can resolve this issue.



API User | 1 Replies | 714 Views | Last Reply: Friday, August 2, 2019 - 19:06

Hi Mohit,

I have successfully accessed my sandbox and have been attempting to send some workvisit requests.

Needless to say I am experiencing a number of issues. Mostly I can get around these but there’s an odd one I am blocked with.

Maybe you can help me to work out what might be the issue ?


Received an error :


         "message":"Insufficient permission to access the resource or invoke the request."

I’m not sure what this error means but I definitely is preventing me from receiving any sensible responses..

Are you able to assist ?

Best regards,


API User | 1 Replies | 685 Views | Last Reply: Tuesday, July 2, 2019 - 18:53

I have been testing several API for the customer portal.  So far all seem to work except for the assets api.  I get the error "You are not authorized to access the api".  How do I get authorization?

API User | 1 Replies | 708 Views | Last Reply: Tuesday, July 2, 2019 - 15:10

I'm trying to use the Workvisit_v1 API endpoint. When I submit the request it goes through fine but the timestamps for startDateTime and endDateTime appear to be modified when they are displayed in the Equinix portal. What format should these timestamps be submitted in? GMT?

API User | 2 Replies | 710 Views | Last Reply: Thursday, March 5, 2020 - 17:04

If I want Install Base report to be updated periodically should I change one of these parameters?

 "scheduleType": "ONE_TIME",

 "period": "NONE"

We want it to be up to date at least monthly 


API User | 1 Replies | 819 Views | Last Reply: Thursday, June 20, 2019 - 17:07

We would like to request permissions to the ECP APIS. Is there anything else required to enable this for our cages and cabinets?

API User | 1 Replies | 602 Views | Last Reply: Friday, June 14, 2019 - 16:13

When I use grant_type as 'client_credential' in mu oauth API, I am no longer getting refresh token in response. This has broken my integration. I don't know how to refresh my access_token when it expires after 60 mins

API User | 1 Replies | 587 Views | Last Reply: Friday, June 14, 2019 - 16:13

After switching to client_credential flow, my refresh token integration is no longer working. Please help!

API User | 1 Replies | 338 Views | Last Reply: Friday, June 14, 2019 - 15:43

Are Equinix APIs accessible on the internet or do we need special access setup?

API User | 1 Replies | 326 Views | Last Reply: Friday, June 14, 2019 - 15:41

Under what circumstances, will Equinix contact technical contact for Work Visit Orders submitted by me?

API User | 1 Replies | 560 Views | Last Reply: Friday, June 14, 2019 - 15:40

What is the difference between Security Access & Work Visit Orders?

API User | 1 Replies | 294 Views | Last Reply: Friday, June 14, 2019 - 15:39

How can I know about my IBX locations? Most of the ECP APIs asks for it in the request.

API User | 1 Replies | 828 Views | Last Reply: Friday, June 14, 2019 - 15:37

Can I carry an equipment during my Work Visit?

API User | 1 Replies | 305 Views | Last Reply: Friday, June 14, 2019 - 15:36

Inbound Shipment API asks for “estimatedDateTime”. For how long will you keep this ticket open f my equipment doesn’t arrive as per the given date/time?


Equinix Customer Portal

APIs that enables all aspects of Equinix Customer Portal features in a programmatic way. Includes user administration, order management & many other capabilities.