Skip to main content

Effective 10 September 2024, API Documentation can be found on our Equinix Product Documentation site.
The content on this page will not be updated after 1 Oct 2024 and will be inaccessible after 31st Dec 2024.


Create Smart Hands Order

Equinix SmartHands® is an around-the-clock, on-site, operational support service for remote management, installation and troubleshooting of your data center equipment. Only an Equinix Customer Portal user with Smart Hands ordering permission may order Smart Hands. The types of Smart Hands currently supported by Equinix Customer Portal APIs may be found here.

 

See Smart Hands for more information.

Order cage escort

OrderCageEscort

Step 1: Authenticate

Submit your user credentials, Client ID, and Client Secret for OAuth2 authentication.

 

Refer to Generating Client ID and Client Secret under Getting Access Token section for instructions on how to create client ID and client secret and refer to Requesting Access and Refresh tokens for instructions on how to call Oauth API to validate and authenticate your credentials.

 

If you are unaware of your user credentials for Equinix Customer Portal, contact your local Equinix Service Desk. 

Step 2: Schedule a work visit

 

To schedule a work visit, the user must have 'IBX Access Services' permission. If you are unaware of your user permissions, contact your Master Administrator.

Schedule a work visit and retrieve the order number.
Retrieve the order number after scheduling a work visit.

 

Refer to How to schedule a Work Visit? under the Getting Started for ECP use cases section for instructions on how to schedule a work visit, or refer to How to retrieve order history? under the Getting Started for ECP use cases section for instructions on how to retrieve an order number for a work visit that has already been scheduled. You may skip this step if you already have the work visit order number.

Step 3: Get Smart Hands Details

 

To get Smart Hands details, the user must have 'Smart Hands' permission. If you are unaware of your user permissions, contact your Master Administrator.

3a) Get Smart Hands Types
Retrieve all the Smart Hands categories supported by Equinix.

 

Refer to Get Smarthands Types under the API Reference section for instructions on how to get all Smart Hands types. You may skip this step if you already know the Smart Hands type.

3b) Get Location Information
Retrieve your IBX location information.

 

Use this API to get all available IBX locations, cages, and cabinets that the user has access to.

 

Refer to Get Smarthands Locations under the API Reference section for instructions on how to retrieve available IBX locations. You may skip this step if you already know the location information.

Step 4: Order a Cage Escort

 POST /smarthands/cageEscort
MethodPOST
URL or End Point/v1/orders/smarthands/cageEscort
HeadersAuthorization, Content-Type
Query ParametersNot applicable
BodyibxLocation {ibx, cages [{cage, cabinets [...], accountNumber}]}, serviceDetails {workVisitOrderNumber, openCabinetForVisitor, supervisionReqForVisitor, durationVisit, scopeOfWork, needSupportFromASubmarineCableStationEngineer}, attachments [{id, name}], schedule {scheduleType, requestedStartDate, requestedCompletionDate}, customerReferenceNumber, purchaseOrder {purchaseOrderType, number, attachment {id, name}}, contacts [{contactType, userName}, {contactType, name, email, workPhoneCountryCode, workPhone, workPhonePrefToCall, workPhoneTimeZone, mobilePhoneCountryCode, mobilePhone, mobilePhonePrefToCall}]

This method orders an IBX security escort for a visitor to access your cage after you have scheduled a work visit to said IBX. This can only be done by a user with Smart Hands ordering permission. The authorization token and content-type are the only headers that are passed to this API and a response is received based on the values passed.

 

A work visit order number must be provided to order a Smarthands Cage Escort. If you have not raised a work visit order, refer to How to schedule a Work Visit? under the Getting Started for ECP use cases section. If you have already raised a work visit order, but do not know the work visit order number, refer to How to retrieve order history? under the Getting Started for ECP use cases section to retrieve your work visit order number.

 

If you are unaware of how to obtain an authorization token, refer to Requesting Access and Refresh tokens under the Getting Access Token section.

The following screenshots show a sample curl request and JSON response for this method.

The request indicates two scenarios: A cage escort ordered without additional information, attachments, or contacts, and a cage escort ordered with additional information, attachments, and contacts.

The response indicates the order was successful and returned the order number.

Cage Escort without additional information, attachments, or contacts

curl -X
POST "https://api.equinix.com/v1/orders/smarthands/cageEscort"
-H "content-type: application/json"
-H "authorization: Bearer qwErtY8zyW1abcdefGHI"
-d '{
"ibxLocation": {
"ibx": "AM1",
"cages": [
{
"cage": "AM1:0J:00JD11",
"accountNumber": "126854"
}
]
},
"serviceDetails": {
"workVisitOrderNumber": "1-19864326570532",
"openCabinetForVisitor": true,
"supervisionReqForVisitor": true,
"durationVisit": "4 Hours",
"scopeOfWork": "If staff from customer company is unable to attend, please continue to accompany the visitor."
},
"schedule": {
"scheduleType": "SCHEDULED_MAINTENANCE",
"requestedStartDate": "2019-08-30T22:00:49.776Z",
"requestedCompletionDate": "2019-08-31T22:00:49.776Z"
},
"contacts": [
{
"contactType": "ORDERING",
"userName": "johndoe"
},
{
"contactType": "TECHNICAL",
"userName": "johndoe",
"workPhonePrefToCall": "ANYTIME"
},
{
"contactType": "NOTIFICATION",
"userName": "johndoe"
}
]
}'

Cage Escort with additional information, attachments, and contacts

 

Before creating an order with attachment, call the POST Attachments File under the API Reference section.

curl -X
POST "https://api.equinix.com/v1/orders/smarthands/cageEscort"
-H "content-type: application/json"
-H "authorization: Bearer qwErtY8zyW1abcdefGHI"
-d '{
"ibxLocation": {
"ibx": "AM1",
"cages": [
{
"cage": "AM1:0J:00JD11",
"cabinets": [
"AM1:0J:00JD11:0001"
],
"accountNumber": "126854"
}
]
},
"serviceDetails": {
"workVisitOrderNumber": "1-19864326570532",
"openCabinetForVisitor": true,
"supervisionReqForVisitor": true,
"durationVisit": "4 Hours",
"scopeOfWork": "If staff from customer company is unable to attend, please continue to accompany the visitor.",
"needSupportFromASubmarineCableStationEngineer": true
},
"attachments": [
{
"id": "fcb2k8763-2947-456e-8d68-f280753d60ba",
"name": "WorkVisitInstructions.docx"
}
],
"schedule": {
"scheduleType": "SCHEDULED_MAINTENANCE",
"requestedStartDate": "2019-08-30T22:00:49.776Z",
"requestedCompletionDate": "2019-08-31T22:00:49.776Z"
},
"customerReferenceNumber": "EQX-PO2019-08-001",
"purchaseOrder": {
"purchaseOrderType": "EXEMPTED",
"attachment": {
"id": "abc1fd2e-345f-67g4-hi89-01jk234l5m6n",
"name": "PurchaseOrderExemptionForm123.docx"
}
},
"contacts": [
{
"contactType": "ORDERING",
"userName": "johndoe"
},
{
"contactType": "TECHNICAL",
"name": "Jane Smith",
"email": "janesmith@corporation.com",
"workPhoneCountryCode": "+44",
"workPhone": "0148211111",
"workPhonePrefToCall": "MY_BUSINESS_HOURS",
"workPhoneTimeZone": "Europe/London",
"mobilePhoneCountryCode": "+44",
"mobilePhone": "0123456789",
"mobilePhonePrefToCall": "MY_BUSINESS_HOURS",
"mobilePhoneTimeZone": "Europe/London"
},
{
"contactType": "NOTIFICATION",
"userName": "johndoe"
},
{
"contactType": "NOTIFICATION",
"userName": "jillsnow"
}
]
}'

The description of the body parameters is as follows:

 

When 'Conditional' is indicated for a Body Parameter, refer to Description for further details.

Body Parameter NameMandatoryTypeExampleApplicable ValuesDescription
ibxLocationYesobject  IBX location information consists of the cages information and IBX.
ibxYesstringAM1 

The IBX location code.

For example, AM1 is an IBX data centre in Amsterdam, Netherlands.
cagesYesarray [objects]  

Cages information consists of ID of cage, ID of cabinet, and cage account number.

 

Only 1 cage per order is currently being supported. Provide information for only 1 cage.

cageYesstringAM1:0J:00JD11 ID of the cage.
cabinetsNoarray [strings]AM1:0J:00JD11:0001 

ID of the cabinet.

 

If providing cabinet, provide only 1 cabinet ID. Only 1 cabinet is currently being supported per cage.

accountNumberYesstring126854 The customer account number that is linked to the cage.
serviceDetailsYesobject  Service details consist of work visit order number, requirement to open cabinet for visitor, requirement for supervised escort for visitor, duration of visit, and scope of work.
workVisitOrderNumberYesstring1-19864326570532 

The order number of the work visit request. This is free text input.

This number is provided after a work visit is scheduled.

This field can only be up to 50 characters long.

 

If you have not raised a work visit order, refer to How to schedule a Work Visit? under the Getting Started for ECP use cases section.

If you have already raised a work visit order, but do not know the work visit order number, refer to How to retrieve order history? under the Getting Started for ECP use cases section to retrieve your work visit order number.

openCabinetForVisitorYesbooleantrue

true, 

false

The requirement for Equinix to open the secured cabinet for the visitor. 

If 'true', Equinix will open the cabinet.

If 'false', cabinet will remain locked.
supervisionReqForVisitorYesbooleantruetrue,
false

The requirement for Equinix to provide an escort to for the visitor.

If 'true', Equinix will provide an escort. In this case, only 'SCHEDULED_MAINTENANCE' in parameter 'scheduleType' is allowed.

If 'false', an Equinix escort is not required. Any schedule type is allowed.
 

If a visitor escort is required, only the schedule type 'SCHEDULED_MAINTENANCE' and its corresponding scheduling parameters should be applied.

durationVisitYesstring4 Hours30 Minutes,
60 Minutes,
90 Minutes,
2 Hours,
2 Hours 30 Minutes,
3 Hours,
3 Hours 30 Minutes,
4 Hours
Duration of visit.
scopeOfWorkYesstringIf staff from customer company is unable to attend, please continue to accompany the visitor. 

A detailed description of the scope of work. This is free text input.

This field can only be up to 4000 characters long.
needSupportFromASubmarineCableStationEngineerConditionalbooleantruetrue,
false

Requirement for submarine cable station engineer support.

This is mandatory for customers with Monet accounts.

If 'true', submarine cable station engineer support is required.

If 'false', submarine cable station engineer support is not required.

Default value: false
attachmentsNoarray [objects]  

An array containing the attachment details.

Up to 5 attachments, each not exceeding 5MB, can be provided in the following formats: bmp, jpg, jpeg, gif, png, tif, tiff, txt, doc, docx, xls, xlsx, ppt, pps, ppsx, pdf, and vsd.

In this case, it is for any supporting photos or documentation that may help the request.
 

Refer to POST Attachments File under the API Reference section for more information.

idConditionalstringfcb2k8763-2947-456e- 8d68-f280753d60ba 

ID of the attachment. You will obtain this value after attaching your file using the attachment API.

This is mandatory when an attachment is included.
nameConditionalstringCageEscortServiceDetailsPhoto.docx 

Name of the attachment. You will obtain this value after attaching your file using the attachment API, but you may change the name for your own reference when including this attachment in any order request. This is free text input.

This is mandatory when an attachment is included.
scheduleYesobject  Schedule information that includes schedule type, and the starting and ending dates and times for the schedule.
scheduleTypeYesstringSCHEDULED_MAINTENANCESTANDARD,
EXPEDITED,
SCHEDULED_MAINTENANCE

Define your preferred scheduling type.

Schedule Types

STANDARD: Request will be processed in the standard turnaround time. Most requests are completed within 24 to 72 hours pending your install base readiness. Requests will be processed in the order they were received, unless they are expedited.
- Parameters 'requestedStartDate' and 'requestedCompletionDate' are not required.

EXPEDITED: Request will be completed within the next 2 to 24 hours. Additional Smart Hands fees may apply. Schedule a time in the current local time of the IBX you selected. Equinix will contact customer for schedule negotiation if preferred scheduling cannot be met.
- Parameter 'requestedCompletionDate' is required.

SCHEDULED_MAINTENANCE: Request will be scheduled as Customer Requested Maintenance. Additional Smart Hands fees may apply if your scheduled time is less than 24 hours from when the order is submitted. Equinix will contact customer for schedule negotiation if preferred scheduling cannot be met.
- Parameters 'requestedStartDate' and 'requestedCompletionDate' are required.
 

If a visitor escort is required, the only applicable schedule type is 'SCHEDULED_MAINTENANCE'.

If a visitor escort is not required, any of these schedules type may be applied.
requestedStartDateConditionalstring2019-08-30T22:00:49.776Z 

Requested start date and time.

If 'STANDARD' or 'EXPEDITED' schedule type, this parameter is not required.

If 'SCHEDULED_MAINTENANCE' schedule type, provide a date and time (UTC timezone) in one of the following ISO 8601 formats:

yyyy-MM-dd'T'HH:mm:ssZ,
yyyy-MM-dd'T'HH:mm:ss.SSSZ.
 

If a visitor escort is required, this parameter should adhere to schedule type, 'SCHEDULED_MAINTENANCE'.

requestedCompletionDateConditionalstring2019-08-31T22:00:49.776Z 

Requested end date and time.

If 'STANDARD' schedule type, this parameter is not required.

If 'EXPEDITED'  or 'SCHEDULED_MAINTENANCE' schedule type, provide a date and time (UTC timezone) in one of the following ISO 8601 formats:

yyyy-MM-dd'T'HH:mm:ssZ,
yyyy-MM-dd'T'HH:mm:ss.SSSZ.

Expedited scheduling date should not be less than IBX local time + 2 hours, and no more than IBX local time + 24 hours.

Scheduled maintenance scheduling should not be less than 24 hours from when the order is submitted. Otherwise, additional Smart Hands fees may apply.
 

If a visitor escort is required, this parameter should adhere to schedule type, 'SCHEDULED_MAINTENANCE'.

customerReferenceNumberNostringEQX-PO2019-08-001 

Customer reference information for this order. This is free text input.

This can be a Purchase Order number or an internal code. This information can be searched for in Order History and will appear within Reports.

This field can only be up to 50 characters long.
purchaseOrderConditionalobject  

Purchase order (PO) information details.

This is mandatory for PO bearing accounts.
 

If you do not know your account's PO bearing status, refer to GET Smarthands Locations under the API Reference section.

purchaseOrderTypeConditionalstringEXEMPTEDEXISTING,
EXEMPTED

Purchase order can be defined as new, existing, or exempted.

However, only existing and exempted purchase order types are currently being supported.

If 'EXISTING', the blanket purchase order is already known to Equinix and the purchase order number must be sent. Only numbers for blanket purchase orders will be accepted. If you do not have a valid blanket purchase order number, see 'EXEMPTED'.

If 'EXEMPTED', there are 2 scenarios where this option applies:-

1. A purchase order exemption form has already been submitted and approved, and a purchase order number is not required. No additional information or attachments are required.

2. A purchase order exemption request is made together with this order. A Purchase Order Exemption form should be attached to facilitate the exemption request.

This is mandatory for PO bearing accounts.
numberConditionalstring  

Blanket purchase order number. This is free text input.

This field can only be up to 20 characters long.

If the blanket purchase order number submitted throws an error, select 'EXEMPTED' for purchase order type instead.

This is mandatory if purchase order type is 'EXISTING'.
attachmentConditionalobject  

An object containing the attachment details of the Purchase Order Exemption Form.

Use the document below as a template for your Purchase Order Exemption Form.

Download Purchase Order Exemption Form Template.

The attachment, not exceeding 5MB, can be provided in the following formats: bmp, jpg, jpeg, gif, png, tif, tiff, txt, doc, docx, xls, xlsx, ppt, pps, ppsx, pdf, and vsd.
 

This should be included when purchase order type is 'EXEMPTED' and you are submitting a Purchase Order Exemption form.

 

Refer to POST Attachments File under the API Reference section for more information.

idConditionalstringabc1fd2e-345f-67g4-hi89-01jk234l5m6n 

ID of the attachment. You will obtain this value after attaching your file using the attachment API.

This is mandatory when an attachment is included.
nameConditionalstringPurchaseOrderExemptionForm123.docx 

Name of the attachment. You will obtain this value after attaching your file using the attachment API, but you may change the name for your own reference when including this attachment in any order request. This is free text input.

This is mandatory when an attachment is included.
contactsYesarray [objects] Contact information consists of the Ordering contact details, Technical contact details, and Notification contact details.
contactTypeYesstringORDERINGORDERING,
TECHNICAL,
NOTIFICATION

There are three types of contact persons: Ordering, Technical, and Notification. All three contacts are mandatory.

- Ordering contact person: Person who created the order. Only one Ordering contact can be passed.
- Technical contact person: Person who Equinix can reach out to for technical clarifications. Only one Technical contact can be passed.
- Notification contact person: Person who will be notified of status updates. At least one notification contact must be provided. If notification contact is not available to pass, use ordering contact as notification contact.
userNameYesstringjohndoe 

Equinix-registered username of contact person whose user profile is active or locked.

For Ordering contact, Equinix-registered username of contact person must be active.

For Notification and Technical contacts, Equinix-registered username of contact person can be active or locked.

If the Technical contact does not have the required Equinix-registered username, their full name, email address, work phone, and work phone timezone calling preference must be provided. It is recommended to also include the work phone country code. Additional information such as mobile phone country code, mobile phone number, and their availability to take calls on their mobile phone may also be provided.

With the exception of the mandatory contact information required for the Technical contact, any other additional contact information passed together with a 'userName' for Ordering, Technical, and Notification contacts will be ignored.

For example, when 'email' and 'workPhone' are passed with 'userName' for Notification contact, these contact details will be ignored.
nameConditionalstringJane Smith 

Full name of contact person. This is free text input.

This is mandatory when the Technical contact does not have an active or locked Equinix-registered username.
emailConditionalstringjanesmith@corporation.com 

Email information of contact person. This is free text input.

This is mandatory when the Technical contact does not have an active or locked Equinix-registered username.
workPhoneCountryCodeNostring+44 

Country code for work phone number of contact person. This is free text input.

Example: +571

 

It is recommended to include the work phone country code.

workPhoneConditionalstring0148211111 

Work phone number of contact person. This is free text input.

This is mandatory when the Technical contact does not have an active or locked Equinix-registered username.
workPhonePrefToCallYesstringANYTIMENEVER,
ANYTIME,
MY_BUSINESS_HOURS,
IBX_BUSINESS_HOURS,
BUSINESS_HOURS

Availability of Technical contact person to take calls. This is mandatory for the Technical contact.

Call Preference - Description
NEVER - Does not take calls.
ANYTIME - Takes calls anytime.
MY_BUSINESS_HOURS - Takes calls only during their business days from 9am to 5pm in their specified time zone. The body parameter 'workPhoneTimeZone' is mandatory to pass when this option is selected.
IBX_BUSINESS_HOURS - Takes calls only during the business hours of the IBX. This would be in the IBX time zone from Mondays to Fridays, 9am to 5pm.

Deprecated values
BUSINESS_HOURS - This value will be removed in the near future.
workPhoneTimeZoneConditionalstringEurope/LondonClick here for applicable values.

This indicates the specific timezone of the Technical contact's business hours that follows the IANA time zone database names format.

This is mandatory when 'MY_BUSINESS_HOURS' is selected for 'workPhonePrefToCall'.
mobilePhoneCountryCodeNostring+1 

Country code for mobile phone number of contact person. This is free text input.

Example: +571
mobilePhoneNostring0123456789 Mobile phone number of contact person. This is free text input.
mobilePhonePrefToCallNostringMY_BUSINESS_HOURSNEVER,
ANYTIME,
MY_BUSINESS_HOURS,
IBX_BUSINESS_HOURS,
BUSINESS_HOURS

Availability of Technical contact person to take calls on their mobile phone.

For description of applicable values, refer to description of body parameter 'workPhonePrefToCall'.
mobilePhoneTimeZoneConditionalstringEurope/LondonClick here for applicable values.

This indicates the specific timezone of the Technical contact's business hours that follows the IANA time zone database names format.

This should be included when 'MY_BUSINESS_HOURS' is selected for 'mobilePhonePrefToCall' and the mobile phone timezone differs from the work phone timezone.
If 'mobilePhoneTimeZone' is not included, it will be assumed that both the work phone and mobile phone timezones are the same.
{
"OrderNumber": "1-19876653568916"
}

The description of the response payload is as follows:

Field nameTypeExampleDescription
OrderNumberstring1-19876653568916The order number created after order is submitted.
 

If you get “Insufficient permissions” error, contact your Master Administrator.

Order equipment installation

OrderEquipmentInstallation

Step 1: Authenticate

Submit your user credentials, Client ID, and Client Secret for OAuth2 authentication.

 

Refer to Generating Client ID and Client Secret under Getting Access Token section for instructions on how to create client ID and client secret and refer to Requesting Access and Refresh tokens for instructions on how to call Oauth API to validate and authenticate your credentials.

 

If you are unaware of your user credentials for Equinix Customer Portal, contact your local Equinix Service Desk. 

Step 2: Get Smart Hands Details

 

To get Smart Hands details, the user must have 'Smart Hands' permission. If you are unaware of your user permissions, contact your Master Administrator.

2a) Get Smart Hands Types
Retrieve all the Smart Hands categories supported by Equinix.

 

Refer to Get Smarthands Types under the API Reference section for instructions on how to get all Smart Hands types. You may skip this step if you already know the Smart Hands type.

2b) Get Location Information
Retrieve your IBX location information.

 

Use this API to get all available IBX locations, cages, and cabinets that the user has access to.

 

Refer to Get Smarthands Locations under the API Reference section for instructions on how to retrieve available IBX locations. You may skip this step if you already know the location information.

Step 3: Order Equipment Installation

 POST /smarthands/equipmentInstall
MethodPOST
URL or End Point/v1/orders/smarthands/equipmentInstall
HeadersAuthorization, Content-Type
Query ParametersNot applicable
BodyibxLocation {ibx, cages [{cage, cabinets[...], accountNumber}]}, serviceDetails {deviceLocation, elevationDrawingAttached, installationPoint, installedEquipmentPhotoRequired, mountHardwareIncluded, patchDevices, patchingInfo, powerItOn, scopeOfWork, needSupportFromASubmarineCableStationEngineer}, attachments [{id, name}], schedule {scheduleType, requestedStartDate, requestedCompletionDate}, customerReferenceNumber, purchaseOrder {purchaseOrderType, number, attachment {id, name}}, contacts [{contactType, userName}, {contactType, name, email, workPhoneCountryCode, workPhone, workPhonePrefToCall, workPhoneTimeZone, mobilePhoneCountryCode, mobilePhone, mobilePhonePrefToCall}]

This method orders equipment installation per customer specifications by an Equinix IBX Technician. This can only be done by a user with Smart Hands ordering permission. The authorization token and content-type are the only headers that are passed to this API and a response is received based on the values passed.

 

If you are unaware of how to obtain an authorization token, refer to Requesting Access and Refresh tokens under the Getting Access Token section.

The following screenshots show a sample curl request and JSON response for this method.

The request indicates two scenarios: An equipment installation ordered without additional information, attachments, or contacts, and an equipment installation ordered with additional information, attachments, and contacts.

The response indicates the order was successful and returned the order number.

Equipment Installation without additional information, attachments, or contacts

curl -X
POST "https://api.equinix.com/v1/orders/smarthands/equipmentInstall"
-H "content-type: application/json"
-H "authorization: Bearer qwErtY8zyW1abcdefGHI"
-d '{
"ibxLocation": {
"ibx": "AM1",
"cages": [
{
"cage": "AM1:0J:00JD11",
"accountNumber": "126854"
}
]
},
"serviceDetails": {
"deviceLocation": "DHL tracking no. 1039 5739 92",
"elevationDrawingAttached": false,
"installationPoint": "Front and center.",
"patchDevices": true,
"patchingInfo": "When patching use the next available port, but maintain a symmetrical appearance.",
"powerItOn": true,
"mountHardwareIncluded": true,
"installedEquipmentPhotoRequired": true,
"scopeOfWork": "When installing make sure wires are all labeled."
},
"schedule": {
"scheduleType": "SCHEDULED_MAINTENANCE",
"requestedStartDate": "2019-08-30T22:00:49.776Z",
"requestedCompletionDate": "2019-08-31T22:00:49.776Z"
},
"contacts": [
{
"contactType": "ORDERING",
"userName": "johndoe"
},
{
"contactType": "TECHNICAL",
"userName": "johndoe",
"workPhonePrefToCall": "ANYTIME"
},
{
"contactType": "NOTIFICATION",
"userName": "johndoe"
}
]
}'

Equipment Installation with additional information, attachments, and contacts

 

Before creating an order with attachment, call the POST Attachments File under the API Reference section.

curl -X
POST "https://api.equinix.com/v1/orders/smarthands/equipmentInstall"
-H "content-type: application/json"
-H "authorization: Bearer qwErtY8zyW1abcdefGHI"
-d '{
"ibxLocation": {
"ibx": "AM1",
"cages": [
{
"cage": "AM1:0J:00JD11",
"cabinets": [
"AM1:0J:00JD11:0001"
],
"accountNumber": "126854"
}
]
},
"serviceDetails": {
"deviceLocation": "DHL tracking no. 1039 5739 92",
"elevationDrawingAttached": true,
"installationPoint": "Front and center.",
"patchDevices": true,
"patchingInfo": "When patching use the next available port, but maintain a symmetrical appearance.",
"powerItOn": true,
"mountHardwareIncluded": true,
"installedEquipmentPhotoRequired": true,
"scopeOfWork": "When installing make sure wires are all labeled.",
"needSupportFromASubmarineCableStationEngineer": true
},
"attachments": [
{
"id": "fcb4a673-6308-456e-8f83-f745501d60ba",
"name": "Elevation drawing.docx"
}
],
"schedule": {
"scheduleType": "SCHEDULED_MAINTENANCE",
"requestedStartDate": "2019-08-30T22:00:49.776Z",
"requestedCompletionDate": "2019-08-31T22:00:49.776Z"
},
"customerReferenceNumber": "EQX-PO2019-08-001",
"purchaseOrder": {
"purchaseOrderType": "EXEMPTED",
"attachment": {
"id": "abc1fd2e-345f-67g4-hi89-01jk234l5m6n",
"name": "PurchaseOrderExemptionForm123.docx"
}
},
"contacts": [
{
"contactType": "ORDERING",
"userName": "johndoe"
},
{
"contactType": "TECHNICAL",
"name": "Jane Smith",
"email": "janesmith@corporation.com",
"workPhoneCountryCode": "+44",
"workPhone": "0148211111",
"workPhonePrefToCall": "MY_BUSINESS_HOURS",
"workPhoneTimeZone": "Europe/London",
"mobilePhoneCountryCode": "+44",
"mobilePhone": "0123456789",
"mobilePhonePrefToCall": "MY_BUSINESS_HOURS",
"mobilePhoneTimeZone": "Europe/London"
},
{
"contactType": "NOTIFICATION",
"userName": "johndoe"
},
{
"contactType": "NOTIFICATION",
"userName": "janesmith"
}
]
}'

The description of the body parameters is as follows:

 

When 'Conditional' is indicated for a Body Parameter, refer to Description for further details.

Body Parameter NameMandatoryTypeExampleApplicable ValuesDescription
ibxLocationYesobject IBX location information consists of the cages information and IBX.
ibxYesstringAM1

The IBX location code.

For example, AM1 is an IBX data centre in Amsterdam, Netherlands.
cagesYesarray [objects] Cages information consists of ID of cage, ID of cabinet, and cage account number.
 

Only 1 cage per order is currently being supported. Provide information for only 1 cage.

cageYesstringAM1:0J:00JD11 ID of the cage.
cabinetsNoarray [strings]AM1:0J:00JD11:0001 ID of the cabinet.
 

If providing cabinet, provide only 1 cabinet ID. Only 1 cabinet is currently being supported per cage.

accountNumberYesstring126854 The customer account number that is linked to the cage.
serviceDetailsYesobject Service details consist of device location, indication if elevation drawing is attached, installation point instruction, patching requirement and information, power requirement, mount hardware inclusion, installation photo requirement, and scope of work information.
deviceLocationYesstringDHL tracking no. 1039 5739 92

Device location details from the customer such as equipment location, the inbound shipment number, or the courier name and tracking number. This is free text input.

This field can only be up to 200 characters long.
elevationDrawingAttachedYesbooleanfalsetrue,
false

An indication that elevation drawing is attached.

If 'true', elevation drawing is attached.

If 'false', there is no attachment.
installationPointYesstringFront and center.

Instructions for specific installation point in the rack. This is free text input.

This field can only be up to 200 characters long.
patchDevicesYesbooleantrue

true,

false

A request for patching between devices.

If 'true', patching is required between devices, and "patchingInfo" must be provided.

If 'false', patching is not required between devices.
patchingInfoConditionalstringWhen patching use the next available port, but maintain a symmetrical appearance.

Instructions for specific patching information such as port, etc. This is free text input.

This field can only be up to 200 characters long.

This is mandatory information when patching is required.
powerItOnYesbooleantruetrue,
false

A request to power on the equipment upon installation.

If 'true', it will be powered on.

If 'false', it will remain off.
mountHardwareIncludedYesbooleantruetrue,
false

An indication that mounting hardware is already included for the equipment installation.

If 'true', mounting hardware is already included.

If 'false', mounting hardware is not included.
installedEquipmentPhotoRequiredYesbooleantruetrue,
false

A request for photos to be provided once the equipment installation is completed.

If 'true', photos will be provided.

If 'false', photos will not be provided.
scopeOfWorkYesstringWhen installing make sure wires are all labeled.

A detailed description of the scope of work. This is free text input.

This field can only be up to 4000 characters long.
needSupportFromASubmarineCableStationEngineerConditionalbooleantruetrue,
false

Requirement for submarine cable station engineer support.

This is mandatory for customers with Monet accounts.

If 'true', submarine cable station engineer support is required.

If 'false', submarine cable station engineer support is not required.

Default value: false
attachmentsNoarray [objects]

An array containing the attachment details.

Up to 5 attachments, each not exceeding 5MB, can be provided in the following formats: bmp, jpg, jpeg, gif, png, tif, tiff, txt, doc, docx, xls, xlsx, ppt, pps, ppsx, pdf, and vsd.

In this case, it is for any supporting photos or documentation that may help the request.
 

Refer to POST Attachments File under the API Reference section for more information.

idConditionalstringfcb2k8763-2947-456e- 8d68-f280753d60ba

ID of the attachment. You will obtain this value after attaching your file using the attachment API.

This is mandatory when an attachment is included.
nameConditionalstringElevation drawing.docx

Name of the attachment. You will obtain this value after attaching your file using the attachment API, but you may change the name for your own reference when including this attachment in any order request. This is free text input.

This is mandatory when an attachment is included.
scheduleYesobject Schedule information that includes schedule type, and the starting and ending dates and times for the schedule.
scheduleTypeYesstringSCHEDULED_MAINTENANCESTANDARD,
EXPEDITED,
SCHEDULED_MAINTENANCE

Define your preferred scheduling type.

Schedule Types

STANDARD: Request will be processed in the standard turnaround time. Most requests are completed within 24 to 72 hours pending your install base readiness. Requests will be processed in the order they were received, unless they are expedited.
- Parameters 'requestedStartDate' and 'requestedCompletionDate' are not required.

EXPEDITED: Request will be completed within the next 2 to 24 hours. Additional Smart Hands fees may apply. Schedule a time in the current local time of the IBX you selected. Equinix will contact customer for schedule negotiation if preferred scheduling cannot be met.
- Parameter 'requestedCompletionDate' is required.

SCHEDULED_MAINTENANCE: Request will be scheduled as Customer Requested Maintenance. Additional Smart Hands fees may apply if your scheduled time is less than 24 hours from when the order is submitted. Equinix will contact customer for schedule negotiation if preferred scheduling cannot be met.
- Parameters 'requestedStartDate' and 'requestedCompletionDate' are required.
requestedStartDateConditionalstring2019-08-30T22:00:49.776Z

Requested start date and time.

If 'STANDARD' or 'EXPEDITED' schedule type, this parameter is not required.

If 'SCHEDULED_MAINTENANCE' schedule type, provide a date and time (UTC timezone) in one of the following ISO 8601 formats:

yyyy-MM-dd'T'HH:mm:ssZ,
yyyy-MM-dd'T'HH:mm:ss.SSSZ.
requestedCompletionDateConditionalstring2019-08-31T22:00:49.776Z

Requested end date and time.

If 'STANDARD' schedule type, this parameter is not required.

If 'EXPEDITED' or 'SCHEDULED_MAINTENANCE' schedule type, provide a date and time (UTC timezone) in one of the following ISO 8601 formats:

yyyy-MM-dd'T'HH:mm:ssZ,
yyyy-MM-dd'T'HH:mm:ss.SSSZ.

Expedited scheduling date should not be less than IBX local time + 2 hours, and no more than IBX local time + 24 hours.

Scheduled maintenance scheduling should not be less than 24 hours from when the order is submitted. Otherwise, additional Smart Hands fees may apply.
customerReferenceNumberNostringEQX-PO2019-08-001

Customer reference information for this order. This is free text input.

This can be a Purchase Order number or an internal code. This information can be searched for in Order History and will appear within Reports.

This field can only be up to 50 characters long.
purchaseOrderConditionalobject

Purchase order (PO) information details.

This is mandatory for PO bearing accounts.
 

If you do not know your account's PO bearing status, refer to GET Smarthands Locations under the API Reference section.

purchaseOrderTypeConditionalstringEXEMPTEDEXISTING,
EXEMPTED

Purchase order can be defined as new, existing, or exempted.

However, only existing and exempted purchase order types are currently being supported.

If 'EXISTING', the blanket purchase order is already known to Equinix and the purchase order number must be sent. Only numbers for blanket purchase orders will be accepted. If you do not have a valid blanket purchase order number, see 'EXEMPTED'.

If 'EXEMPTED', there are 2 scenarios where this option applies:-

1. A purchase order exemption form has already been submitted and approved, and a purchase order number is not required. No additional information or attachments are required.

2. A purchase order exemption request is made together with this order. A Purchase Order Exemption form should be attached to facilitate the exemption request.

This is mandatory for PO bearing accounts.
numberConditionalstring

Blanket purchase order number. This is free text input.

This field can only be up to 20 characters long.

If the blanket purchase order number submitted throws an error, select 'EXEMPTED' for purchase order type instead.

This is mandatory if purchase order type is EXISTING'.
attachmentConditionalobject

An object containing the attachment details of the Purchase Order Exemption Form.

Use the document below as a template for your Purchase Order Exemption Form.

Download Purchase Order Exemption Form Template.

The attachment, not exceeding 5MB, can be provided in the following formats: bmp, jpg, jpeg, gif, png, tif, tiff, txt, doc, docx, xls, xlsx, ppt, pps, ppsx, pdf, and vsd.
 

This should be included when purchase order type is 'EXEMPTED' and you are submitting a Purchase Order Exemption form.

 

Refer to POST Attachments File under the API Reference section for more information.

idConditional

string

abc1fd2e-345f-67g4-hi89-01jk234l5m6n

ID of the attachment. You will obtain this value after attaching your file using the attachment API.

This is mandatory when an attachment is included.
nameConditional

string

PurchaseOrderExemptionForm123.docx

Name of the attachment. You will obtain this value after attaching your file using the attachment API, but you may change the name for your own reference when including this attachment in any order request. This is free text input.

This is mandatory when an attachment is included.
contactsYesarray [objects] Contact information consists of the Ordering contact details, Technical contact details, and Notification contact details.
contactTypeYesstringORDERINGORDERING,
TECHNICAL,
NOTIFICATION

There are three types of contact persons: Ordering, Technical, and Notification. All three contacts are mandatory.

- Ordering contact person: Person who created the order. Only one Ordering contact can be passed.
- Technical contact person: Person who Equinix can reach out to for technical clarifications. Only one Technical contact can be passed.
- Notification contact person: Person who will be notified of status updates. At least one notification contact must be provided. If notification contact is not available to pass, use ordering contact as notification contact.
userNameYesstringjohndoe

Equinix-registered username of contact person whose user profile is active or locked.

For Ordering contact, Equinix-registered username of contact person must be active.

For Notification and Technical contacts, Equinix-registered username of contact person can be active or locked.

If the Technical contact does not have the required Equinix-registered username, their full name, email address, work phone, and work phone timezone calling preference must be provided. It is recommended to also include the work phone country code. Additional information such as mobile phone country code, mobile phone number, and their availability to take calls on their mobile phone may also be provided.

With the exception of the mandatory contact information required for the Technical contact, any other additional contact information passed together with a 'userName' for Ordering, Technical, and Notification contacts will be ignored.

For example, when 'email' and 'workPhone' are passed with 'userName' for Notification contact, these contact details will be ignored.
nameConditionalstringJane Smith

Full name of contact person. This is free text input.

This is mandatory when the Technical contact does not have an active or locked Equinix-registered username.
emailConditionalstringjanesmith@corporation.com

Email information of contact person. This is free text input.

This is mandatory when the Technical contact does not have an active or locked Equinix-registered username.
workPhoneCountryCodeNostring+44

Work phone country code of contact person. This is free text input.

Example: +571
 

It is recommended to include the work phone country code.

workPhoneConditionalstring0148211111

Work phone number of contact person. This is free text input.

This is mandatory when the Technical contact does not have an active or locked Equinix-registered username.
workPhonePrefToCallYesstringANYTIMENEVER,
ANYTIME,
MY_BUSINESS_HOURS,
IBX_BUSINESS_HOURS,
BUSINESS_HOURS

Availability of Technical contact person to take calls. This is mandatory for the Technical contact.

Call Preference - Description
NEVER - Does not take calls.
ANYTIME - Takes calls anytime.
MY_BUSINESS_HOURS - Takes calls only during their business days from 9am to 5pm in their specified time zone. The body parameter 'workPhoneTimeZone' is mandatory to pass when this option is selected.
IBX_BUSINESS_HOURS - Takes calls only during the business hours of the IBX. This would be in the IBX time zone from Mondays to Fridays, 9am to 5pm.

Deprecated values
BUSINESS_HOURS - This value will be removed in the near future.
workPhoneTimeZoneConditionalstringEurope/LondonClick here for applicable values.

This indicates the specific timezone of the Technical contact's business hours that follows the IANA time zone database names format.

This is mandatory when 'MY_BUSINESS_HOURS' is selected for 'workPhonePrefToCall'.
mobilePhoneCountryCodeNostring+1

Country code for mobile phone number of contact person. This is free text input.

Example: +571
mobilePhoneNostring0123456789

Mobile phone number of contact person. This is free text input.

mobilePhonePrefToCallNostringMY_BUSINESS_HOURSNEVER,
ANYTIME,
MY_BUSINESS_HOURS,
IBX_BUSINESS_HOURS,
BUSINESS_HOURS

Availability of Technical contact person to take calls on their mobile phone.

For description of applicable values, refer to description of body parameter 'workPhonePrefToCall'.
mobilePhoneTimeZoneConditionalstringEurope/LondonClick here for applicable values.

This indicates the specific timezone of the Technical contact's business hours that follows the IANA time zone database names format.

This should be included when 'MY_BUSINESS_HOURS' is selected for 'mobilePhonePrefToCall' and the mobile phone timezone differs from the work phone timezone.
If 'mobilePhoneTimeZone' is not included, it will be assumed that both the work phone and mobile phone timezones are the same.
{
"OrderNumber": "1-190986534844"
}

The description of the response payload is as follows:

Field nameTypeExampleDescription
OrderNumberstring1-190986534844The order number created after order is submitted.
 

If you get “Insufficient permissions” error, contact your Master Administrator.

Order cage clean-up

OrdeCageCleanUp

 

The following video shows how to create a cage clean-up smart hands order using Equinix Customer Portal APIs.
Click here to download the postman scripts shown in this demo.

Step 1: Authenticate

Submit your user credentials, Client ID, and Client Secret for OAuth2 authentication.

 

Refer to Generating Client ID and Client Secret under Getting Access Token section for instructions on how to create client ID and client secret and refer to Requesting Access and Refresh tokens for instructions on how to call Oauth API to validate and authenticate your credentials.

 

If you are unaware of your user credentials for Equinix Customer Portal, contact your local Equinix Service Desk. 

Step 2: Get Smart Hands Details

 

To get Smart Hands details, the user must have 'Smart Hands' permission. If you are unaware of your user permissions, contact your Master Administrator.

2a) Get Smart Hands Types
Retrieve all the Smart Hands categories supported by Equinix.

 

Refer to Get Smarthands Types under the API Reference section for instructions on how to get all Smart Hands types. You may skip this step if you already know the Smart Hands type.

2b) Get Location Information
Retrieve your IBX location information.

 

Use this API to get all available IBX locations, cages, and cabinets that the user has access to.

 

Refer to Get Smarthands Locations under the API Reference section for instructions on how to retrieve available IBX locations. You may skip this step if you already know the location information.

Step 3: Order a Cage Clean-Up

 POST /smarthands/cageCleanup
MethodPOST
URL or End Point/v1/orders/smarthands/cageCleanup
HeadersAuthorization, Content-Type
Query ParametersNot applicable
BodyibxLocation {ibx, cages [{cage, cabinets[...], accountNumber}]}, serviceDetails {permissionToDiscardBoxes, dampMoistMopRequired, scopeOfWork, needSupportFromASubmarineCableStationEngineer}, attachments [{id, name}], schedule {scheduleType, requestedStartDate, requestedCompletionDate}, customerReferenceNumber, purchaseOrder {purchaseOrderType, number, attachment {id, name}}, contacts [{contactType, userName}, {contactType, name, email, workPhoneCountryCode, workPhone, workPhonePrefToCall, workPhoneTimeZone, mobilePhoneCountryCode, mobilePhone, mobilePhonePrefToCall}]}

This method orders trash removal or cage cleanup from a specific cage in the IBX where the user has Smart Hands ordering permission. The authorization token and content-type are the only headers that are passed to this API and a response is received based on the values passed.

 

If you are unaware of how to obtain an authorization token, refer to Requesting Access and Refresh tokens under the Getting Access Token section.

The following screenshots show a sample curl request and JSON response for this method.

The request indicates two scenarios: a cage cleanup ordered without additional information, attachments, or contacts; and a cage cleanup ordered with additional information, attachments, and contacts.

The response indicates the order was successful and returned the order number.

Cage Cleanup without additional information, attachments, or contacts

curl -X
POST "https://api.equinix.com/v1/orders/smarthands/cageCleanup"
-H "content-type: application/json"
-H "authorization: Bearer qwErtY8zyW1abcdefGHI"
-d '{
"ibxLocation": {
"ibx": "AM1",
"cages": [
{
"cage": "AM1:0J:00JD11",
"accountNumber": "126854"
}
]
},
"serviceDetails": {
"permissionToDiscardBoxes": true,
"dampMoistMopRequired": true,
"scopeOfWork": "Light dusting of equipment, microfiber mop to be used."
},
"schedule": {
"scheduleType": "SCHEDULED_MAINTENANCE",
"requestedStartDate": "2019-08-30T22:00:49.776Z",
"requestedCompletionDate": "2019-08-31T22:00:49.776Z"
},
"contacts": [
{
"contactType": "ORDERING",
"userName": "johndoe"
},
{
"contactType": "TECHNICAL",
"userName": "johndoe",
"workPhonePrefToCall": "ANYTIME"
},
{
"contactType": "NOTIFICATION",
"userName": "johndoe"
}
]
}'

Cage Cleanup with additional information, attachments, and contacts

 

Before creating an order with attachment, call the POST Attachments File under the API Reference section.

curl -X

POST "https://api.equinix.com/v1/orders/smarthands/cageCleanup"

-H "content-type: application/json"

-H "authorization: Bearer qwErtY8zyW1abcdefGHI"

-d '{
   "ibxLocation": {
    "ibx": "AM1",
    "cages": [
      {
        "cage": "AM1:0J:00JD11",
        "cabinets": [
          "AM1:0J:00JD11:0001"
        ],
        "accountNumber": "126854"
      }
    ]
  },
  "serviceDetails": {
    "permissionToDiscardBoxes": true,
    "dampMoistMopRequired": true,
    "scopeOfWork": "Light dusting of equipment, microfiber mop to be used.",
    "needSupportFromASubmarineCableStationEngineer": true
  },
  "attachments": [
    {
      "id": "fcb2k8763-2947-456e-8d68-f280753d60ba",
      "name": "PhotoForCageCleanupServiceDetails.docx"
    }
  ],
  "schedule": {
    "scheduleType": "SCHEDULED_MAINTENANCE",
    "requestedStartDate": "2019-08-30T22:00:49.776Z",
    "requestedCompletionDate": "2019-08-31T22:00:49.776Z"
  },
  "customerReferenceNumber": "EQX-PO2019-08-001",
  "purchaseOrder": {
    "purchaseOrderType": "EXEMPTED",
    "attachment": {
      "id": "abc1fd2e-345f-67g4-hi89-01jk234l5m6n",
      "name": "PurchaseOrderExemptionForm123.docx"
    }
  },
  "contacts": [
    {
      "contactType": "ORDERING",
      "userName": "johndoe"
    },
    {
      "contactType": "TECHNICAL",
      "name": "Jane Smith",
      "email": "janesmith@corporation.com",
      "workPhoneCountryCode": "+44",
      "workPhone": "0148211111",
      "workPhonePrefToCall": "MY_BUSINESS_HOURS",
      "workPhoneTimeZone": "Europe/London",
      "mobilePhoneCountryCode": "+44",
      "mobilePhone": "0123456789",
      "mobilePhonePrefToCall": "MY_BUSINESS_HOURS",
      "mobilePhoneTimeZone": "Europe/London"
    },
    {
      "contactType": "NOTIFICATION",
      "userName": "johndoe"
    },
    {
      "contactType": "NOTIFICATION",
      "userName": "janesmith"
    }
  ]
}'

The description of the body parameters is as follows:

 

When 'Conditional' is indicated for a Body Parameter, refer to Description for further details.

Body Parameter NameMandatoryTypeExampleApplicable ValuesDescription
ibxLocationYesobject IBX location information consists of the cages information and IBX.
ibxYesstringAM1

The IBX location code.

For example, AM1 is an IBX data centre in Amsterdam, Netherlands.
cagesYesarray [objects]

Cages information consists of ID of cage, ID of cabinet, and cage account number.

 

Only 1 cage is currently being supported. Provide information for only 1 cage.

cageYesstringAM1:0J:00JD11 ID of the cage.
cabinetsNoarray [strings]AM1:0J:00JD11:0001

ID of the cabinet.

 

If providing cabinet, provide only 1 cabinet ID. Only 1 cabinet is currently being supported.

accountNumberYesstring126854 The customer account number that is linked to the cage.
serviceDetailsYesobject Service details consist of permission to discard boxes, the requirement for mopping, and scope of work.
permissionToDiscardBoxesYesbooleantruetrue,
false

Granting permission to Equinix to discard any boxes found in the cage.

If 'true', permission is granted to Equinix to discard any boxes found in the cage.

If 'false', permission is not granted to Equinix to discard any boxes found in the cage.
dampMoistMopRequiredYesbooleantruetrue,
false

A specific request for damp/ moist mop to be used to clean the cage.

If 'true', damp/ moist mop will be used.

If 'false', damp/ moist mop will not be used.
scopeOfWorkYesstringLight dusting of equipment, microfiber mop to be used.

A detailed description of the scope of work. This is free text input.

This field can only be up to 4000 characters long.
needSupportFromASubmarineCableStationEngineerConditionalbooleantruetrue,
false

Requirement for submarine cable station engineer support.

This is mandatory for customers with Monet accounts.

If 'true', submarine cable station engineer support is required.

If 'false', submarine cable station engineer support is not required.

Default value: false
attachmentsNoarray [objects]

An array containing the attachment details.

Up to 5 attachments, each not exceeding 2MB, can be provided in the following formats: bmp, jpg, jpeg, gif, png, tif, tiff, txt, doc, docx, xls, xlsx, ppt, pps, ppsx, pdf, and vsd.

In this case, it is for any supporting photos or documentation that may help the request.
 

Refer to POST Attachments File under the API Reference section for more information.

idConditionalstringfcb2k8763-2947-456e- 8d68-f280753d60ba

ID of the attachment. You will obtain this value after attaching your file using the attachment API.

This is mandatory when an attachment is included.
nameConditionalstringPhotoForCageCleanupServiceDetails.docx

Name of the attachment. You will obtain this value after attaching your file using the attachment API, but you may change the name for your own reference when including this attachment in any order request. This is free text input.

This is mandatory when an attachment is included.
scheduleYesobject Schedule information that includes schedule type, and the starting and ending dates and times for the schedule.
scheduleTypeYesstringSCHEDULED_MAINTENANCESTANDARD,
EXPEDITED,
SCHEDULED_MAINTENANCE

Define your preferred scheduling type.

Schedule Types

STANDARD: Request will be processed in the standard turnaround time. Most requests are completed within 24 to 72 hours pending your install base readiness. Requests will be processed in the order they were received, unless they are expedited.
- Parameters 'requestedStartDate' and 'requestedCompletionDate' are not required.

EXPEDITED: Request will be completed within the next 2 to 24 hours. Additional Smart Hands fees may apply. Schedule a time in the current local time of the IBX you selected. Equinix will contact customer for schedule negotiation if preferred scheduling cannot be met.
- Parameter 'requestedCompletionDate' is required.

SCHEDULED_MAINTENANCE: Request will be scheduled as Customer Requested Maintenance. Additional Smart Hands fees may apply if your scheduled time is less than 24 hours from when the order is submitted. Equinix will contact customer for schedule negotiation if preferred scheduling cannot be met.
- Parameters 'requestedStartDate' and 'requestedCompletionDate' are required.

This is mandatory when including schedule.
requestedStartDateConditionalstring2019-08-30T22:00:49.776Z

Requested start date and time.

If 'STANDARD' or 'EXPEDITED' schedule type, this parameter is not required.

If 'SCHEDULED_MAINTENANCE' schedule type, provide a date and time (UTC timezone) in one of the following ISO 8601 formats:

yyyy-MM-dd'T'HH:mm:ssZ,
yyyy-MM-dd'T'HH:mm:ss.SSSZ.

requestedCompletionDateConditionalstring2019-08-31T22:00:49.776Z

Requested end date and time.

If 'STANDARD' schedule type, this parameter is not required.

If 'EXPEDITED' or 'SCHEDULED_MAINTENANCE' schedule type, provide a date and time (UTC timezone) in one of the following ISO 8601 formats:

yyyy-MM-dd'T'HH:mm:ssZ,
yyyy-MM-dd'T'HH:mm:ss.SSSZ.

Expedited scheduling date should not be less than IBX local time + 2 hours, and no more than IBX local time + 24 hours.

Scheduled maintenance scheduling should not be less than 24 hours from when the order is submitted. Otherwise, additional Smart Hands fees may apply.
customerReferenceNumberNostringEQX-PO2019-08-001

Customer reference information for this order. This is free text input.

This can be a Purchase Order number or an internal code. This information can be searched for in Order History and will appear within Reports.

This field can only be up to 50 characters long.
purchaseOrderConditionalobject

Purchase order (PO) information details.

This is mandatory for PO bearing accounts.
 

If you do not know your account's PO bearing status, refer to GET Smarthands Locations under the API Reference section.

purchaseOrderTypeConditionalstringEXEMPTEDNEW,
EXISTING,
EXEMPTED

Purchase order can be defined as new, existing, or exempted.

However, only existing and exempted purchase order types are currently being supported.

If 'EXISTING', the blanket purchase order is already known to Equinix and the purchase order number must be sent. Only numbers for blanket purchase orders will be accepted. If you do not have a valid blanket purchase order number, see 'EXEMPTED'.

If 'EXEMPTED', there are 2 scenarios where this option applies:-

1. A purchase order exemption form has already been submitted and approved, and a purchase order number is not required. No additional information or attachments are required.

2. A purchase order exemption request is made together with this order. A Purchase Order Exemption form should be attached to facilitate the exemption request.

This is mandatory for PO bearing accounts.
numberConditionalstring

Blanket purchase order number. This is free text input.

This field can only be up to 20 characters long.

If the blanket purchase order number submitted throws an error, select 'EXEMPTED' for purchase order type instead.

This is mandatory if purchase order type is 'EXISTING'.
attachmentConditionalobject

An object containing the attachment details of the Purchase Order Exemption Form.

Use the document below as a template for your Purchase Order Exemption Form.

Download Purchase Order Exemption Form Template.

The attachment, not exceeding 5MB, can be provided in the following formats: bmp, jpg, jpeg, gif, png, tif, tiff, txt, doc, docx, xls, xlsx, ppt, pps, ppsx, pdf, and vsd.
 

This should be included when purchase order type is 'EXEMPTED' and you are submitting a Purchase Order Exemption form.

 

Refer to POST Attachments File under the API Reference section for more information.

idConditionalstringabc1fd2e-345f-67g4-hi89-01jk234l5m6n

ID of the attachment. You will obtain this value after attaching your file using the attachment API.

This is mandatory when an attachment is included.
nameConditionalstringPurchaseOrderExemptionForm123.docx

Name of the attachment. You will obtain this value after attaching your file using the attachment API, but you may change the name for your own reference when including this attachment in any order request. This is free text input.

This is mandatory when an attachment is included.
contactsYesarray [objects] Contact information consists of the Ordering contact details, Technical contact details, and Notification contact details.
contactTypeYesstringORDERINGORDERING,
TECHNICAL,
NOTIFICATION

There are three types of contact persons: Ordering, Technical, and Notification. All three contacts are mandatory.

- Ordering contact person: Person who created the order. Only one Ordering contact can be passed.
- Technical contact person: Person who Equinix can reach out to for technical clarifications. Only one Technical contact can be passed.
- Notification contact person: Person who will be notified of status updates. At least one notification contact must be provided. If notification contact is not available to pass, use ordering contact as notification contact.
userNameYesstringjohndoe

Equinix-registered username of contact person whose user profile is active or locked.

For Ordering contact, Equinix-registered username of contact person must be active.

For Notification and Technical contacts, Equinix-registered username of contact person can be active or locked.

If the Technical contact does not have the required Equinix-registered username, their full name, email address, work phone, and work phone timezone calling preference must be provided. It is recommended to also include the work phone country code. Additional information such as mobile phone country code, mobile phone number, and their availability to take calls on their mobile phone may also be provided.

With the exception of the mandatory contact information required for the Technical contact, any other additional contact information passed together with a 'userName' for Ordering, Technical, and Notification contacts will be ignored.

For example, when 'email' and 'workPhone' are passed with 'userName' for Notification contact, these contact details will be ignored.
nameConditionalstringJane Smith

Full name of contact person. This is free text input.

This is mandatory when the Technical contact does not have an active or locked Equinix-registered username.
emailConditionalstringjanesmith@corporation.com

Email information of contact person. This is free text input.

This is mandatory when the Technical contact does not have an active or locked Equinix-registered username.
workPhoneCountryCodeNostring+44

Country code for work phone number of contact person. This is free text input.

Example: +571
 

It is recommended to include the work phone country code.

workPhoneConditionalstring0148211111

Work phone number of contact person. This is free text input.

This is mandatory when the Technical contact does not have an active or locked Equinix-registered username.
workPhonePrefToCallYesstringANYTIMENEVER,
ANYTIME,
MY_BUSINESS_HOURS,
IBX_BUSINESS_HOURS,
BUSINESS_HOURS

Availability of Technical contact person to take calls. This is mandatory for the Technical contact.

Call Preference - Description
NEVER - Does not take calls.
ANYTIME - Takes calls anytime.
MY_BUSINESS_HOURS - Takes calls only during their business days from 9am to 5pm in their specified time zone. The body parameter 'workPhoneTimeZone' is mandatory to pass when this option is selected.
IBX_BUSINESS_HOURS - Takes calls only during the business hours of the IBX. This would be in the IBX time zone from Mondays to Fridays, 9am to 5pm.

Deprecated values
BUSINESS_HOURS - This value will be removed in the near future.
workPhoneTimeZoneConditionalstringEurope/LondonClick here for applicable values.

This indicates the specific timezone of the Technical contact's business hours that follows the IANA time zone database names format.

This is mandatory when 'MY_BUSINESS_HOURS' is selected for 'workPhonePrefToCall'.
mobilePhoneCountryCodeNostring+1

Country code for mobile phone number of contact person. This is free text input.

Example: +571
mobilePhoneNostring0123456789
Mobile phone number of contact person. This is free text input.
mobilePhonePrefToCallNostringMY_BUSINESS_HOURSNEVER,
ANYTIME,
MY_BUSINESS_HOURS,
IBX_BUSINESS_HOURS,
BUSINESS_HOURS

Availability of Technical contact person to take calls on their mobile phone.

For description of applicable values, refer to description of body parameter 'workPhonePrefToCall'.
mobilePhoneTimeZoneConditionalstringEurope/LondonClick here for applicable values.

This indicates the specific timezone of the Technical contact's business hours that follows the IANA time zone database names format.

This should be included when 'MY_BUSINESS_HOURS' is selected for 'mobilePhonePrefToCall' and the mobile phone timezone differs from the work phone timezone.
If 'mobilePhoneTimeZone' is not included, it will be assumed that both the work phone and mobile phone timezones are the same.
{
"OrderNumber": "1-190368976438"
}

The description of the response payload is as follows:

Field nameTypeExampleDescription
OrderNumberstring1-190368976438The order number created after order is submitted.
 

If you get “Insufficient permissions” error, contact your Master Administrator.

Order inbound shipment unpacking and packaging disposal

UnpackShipment

Step 1: Authenticate

Submit your user credentials, Client ID, and Client Secret for OAuth2 authentication.

 

Refer to Generating Client ID and Client Secret under Getting Access Token section for instructions on how to create client ID and client secret and refer to Requesting Access and Refresh tokens for instructions on how to call Oauth API to validate and authenticate your credentials.

 

If you are unaware of your user credentials for Equinix Customer Portal, contact your local Equinix Service Desk. 

Step 2: Schedule an inbound shipment

 

To schedule an inbound shipment, the user must have 'Shipments' permission. If you are unaware of your user permissions, contact your Master Administrator.

Schedule an inbound shipment and retrieve the order number
Retrieve the inbound shipment order number after scheduling an inbound shipment.

 

Refer to How to schedule an Inbound Shipment? under How to schedule shipments section of the Getting Started for ECP use cases for instructions on how to schedule an inbound shipment, or refer to How to retrieve order history? under the Getting Started for ECP use cases section for instructions on how to retrieve an order number for an inbound shipment that has already been scheduled. You may skip this step if you already have the inbound shipment order number.

Step 3: Get Smart Hands Details

 

To get Smart Hands details, the user must have 'Smart Hands' permission. If you are unaware of your user permissions, contact your Master Administrator.

3a) Get Smart Hands Types
Retrieve all the Smart Hands categories supported by Equinix.

 

Refer to Get Smarthands Types under the API Reference section for instructions on how to get all Smart Hands types. You may skip this step if you already know the Smart Hands type.

3b) Get Location Information
Retrieve your IBX location information.

 

Use this API to get all available IBX locations, cages, and cabinets that the user has access to.

 

Refer to Get Smarthands Locations under the API Reference section for instructions on how to retrieve available IBX locations. You may skip this step if you already know the location information.

Step 4: Order inbound shipment unpacking and packaging disposal

 POST /smarthands/shipmentUnpack
MethodPOST
URL or End Point/v1/orders/smarthands/shipmentUnpack
HeadersAuthorization, Content-Type
Query ParametersNot applicable
BodyibxLocation {ibx, cages [{cage, cabinets[...], accountNumber}]}, serviceDetails {inboundShipmentOrderNumber, discardShipmentMaterial, copyOfPackingSlipNeeded, scopeOfWork, needSupportFromASubmarineCableStationEngineer}, attachments [{id, name}], schedule {scheduleType, requestedStartDate, requestedCompletionDate}, customerReferenceNumber, purchaseOrder {purchaseOrderType, number, attachment {id, name}}, contacts [{contactType, userName}, {contactType, name, email, workPhoneCountryCode, workPhone, workPhonePrefToCall, workPhoneTimeZone, mobilePhoneCountryCode, mobilePhone, mobilePhonePrefToCall}]

This method requests inbound shipment unpacking and packaging disposal. This can only be done by a user with Smart Hands ordering permission. The authorization token and content-type are the only headers that are passed to this API and a response is received based on the values passed.

 

An inbound shipment order number must be provided to order a Smarthands Shipment Unpack. If you have not raised an inbound shipment order, refer to How to schedule an inbound shipment? under the Getting Started for ECP use cases section. If you have already raised an inbound shipment order, but do not know the inbound shipment order number, refer to How to retrieve order history? under the Getting Started for ECP use cases section to retrieve your inbound shipment order number.

 

If you are unaware of how to obtain an authorization token, refer to Requesting Access and Refresh tokens under the Getting Access Token section.

The following screenshots show a sample curl request and JSON response for this method.

The request indicates two scenarios: A shipment unpack requested without additional information, attachments, or contacts; and a shipment unpack requested with additional information, attachments, or contacts.

The response indicates the order was successful and returned the order number.

Shipment Unpack without additional information, attachments, or contacts

curl -X
POST "https://api.equinix.com/v1/orders/smarthands/shipmentUnpack"
-H "content-type: application/json"
-H "authorization: Bearer qwErtY8zyW1abcdefGHI"
-d '{
"ibxLocation": {
"ibx": "AM1",
"cages": [
{
"cage": "AM1:0J:00JD11",
"accountNumber": "126854"
}
]
},
"serviceDetails": {
"inboundShipmentOrderNumber": "1-190403752735",
"discardShipmentMaterial": false,
"copyOfPackingSlipNeeded": false,
"scopeOfWork": "Flatten the boxes and keep them by the side of the cage."
},
"schedule": {
"scheduleType": "SCHEDULED_MAINTENANCE",
"requestedStartDate": "2019-08-30T22:00:49.776Z",
"requestedCompletionDate": "2019-08-31T22:00:49.776Z"
},
"contacts": [
{
"contactType": "ORDERING",
"userName": "johndoe"
},
{
"contactType": "TECHNICAL",
"userName": "johndoe",
"workPhonePrefToCall": "ANYTIME"
},
{
"contactType": "NOTIFICATION",
"userName": "johndoe"
}
]
}'

Shipment Unpack with additional information, attachments, and contacts

 

Before creating an order with attachment, call the POST Attachments File under the API Reference section.

curl -X
POST "https://api.equinix.com/v1/orders/smarthands/shipmentUnpack"
-H "content-type: application/json"
-H "authorization: Bearer qwErtY8zyW1abcdefGHI"
-d '{
"ibxLocation": {
"ibx": "AM1",
"cages": [
{
"cage": "AM1:0J:00JD11",
"cabinets": [
"AM1:0J:00JD11:0001"
],
"accountNumber": "126854"
}
]
},
"serviceDetails": {
"inboundShipmentOrderNumber": "1-190403752735",
"discardShipmentMaterial": false,
"copyOfPackingSlipNeeded": false,
"scopeOfWork": "Flatten the boxes and keep them by the side of the cage.",
"needSupportFromASubmarineCableStationEngineer": true
},
"attachments": [
{
"id": "26f40e6e-dd6e-48fa-a797-62c0d3157388",
"name": "AdditionalShipmentWorkDetails.docx"
}
],
"schedule": {
"scheduleType": "SCHEDULED_MAINTENANCE",
"requestedStartDate": "2019-08-30T22:00:49.776Z",
"requestedCompletionDate": "2019-08-31T22:00:49.776Z"
},
"customerReferenceNumber": "EQX-PO2019-08-001",
"purchaseOrder": {
"purchaseOrderType": "EXEMPTED",
"attachment": {
"id": "abc1fd2e-345f-67g4-hi89-01jk234l5m6n",
"name": "PurchaseOrderExemptionForm123.docx"
}
},
"contacts": [
{
"contactType": "ORDERING",
"userName": "johndoe"
},
{
"contactType": "TECHNICAL",
"name": "Jane Smith",
"email": "janesmith@corporation.com",
"workPhoneCountryCode": "+44",
"workPhone": "0148211111",
"workPhonePrefToCall": "MY_BUSINESS_HOURS",
"workPhoneTimeZone": "Europe/London",
"mobilePhoneCountryCode": "+44",
"mobilePhone": "0123456789",
"mobilePhonePrefToCall": "MY_BUSINESS_HOURS",
"mobilePhoneTimeZone": "Europe/London"
},
{
"contactType": "NOTIFICATION",
"userName": "johndoe"
},
{
"contactType": "NOTIFICATION",
"userName": "janesmith"
}
]
}'

The description of the body parameters is as follows:

 

When 'Conditional' is indicated for a Body Parameter, refer to Description for further details.

Body Parameter NameMandatoryTypeExampleApplicable ValuesDescription
ibxLocationYesobject IBX location information consists of the cages information and IBX.
ibxYesstringAM1

The IBX location code.

For example, AM1 is an IBX data centre in Amsterdam, Netherlands.
cagesYesarray [objects]

Cages information consists of ID of cage, ID of cabinet, and cage account number.

 

Only 1 cage per order is currently being supported. Provide information for only 1 cage.

cageYesstringAM1:0J:00JD11 ID of the cage.
cabinetsNoarray [strings]AM1:0J:00JD11:0001

ID of the cabinet.

 

If providing cabinet, provide only 1 cabinet ID. Only 1 cabinet is currently being supported per cage.

accountNumberYesstring126854 The customer account number that is linked to the cage.
serviceDetailsYesobject Service details consist of inbound shipment order number, requirement to dispose packaging, requirement to provide customer with a packing slip copy, and scope of work.
inboundShipmentOrderNumberYesstring1-190403752735

The order number for inbound shipment. This is free text input.

This field can only be up to 50 characters long.
 

If you have not raised an inbound shipment order, refer to How to schedule an inbound shipment? under the Getting Started for ECP use cases section.

If you have already raised an inbound shipment order, but do not know the inbound shipment order number, refer to How to retrieve order history? under the Getting Started for ECP use cases section to retrieve your inbound shipment order number.
discardShipmentMaterialYesbooleanfalsetrue,
false

Customer requirement to discard the packaging.

If 'true', Equinix will discard the packaging.

If 'false', Equinix will not dispose of the packaging.
copyOfPackingSlipNeededYesbooleanfalsetrue,
false

Customer requirement for a copy of the packing slip.

If 'true', Equinix will provide the customer with a copy of the packing slip.

If 'false', customer does not need a copy of the packing slip and none will be provided.
scopeOfWorkYesstringFlatten the boxes and keep them by the side of the cage.

A detailed description of the scope of work. This is free text input.

This field can only be up to 4000 characters long.
needSupportFromASubmarineCableStationEngineerConditionalbooleantruetrue,
false

Requirement for submarine cable station engineer support.

This is mandatory for customers with Monet accounts.

If 'true', submarine cable station engineer support is required.

If 'false', submarine cable station engineer support is not required.

Default value: false
attachmentsNoarray [objects]

An array containing the attachment details.

Up to 5 attachments, each not exceeding 2MB, can be provided in the following formats: bmp, jpg, jpeg, gif, png, tif, tiff, txt, doc, docx, xls, xlsx, ppt, pps, ppsx, pdf, and vsd.

In this case, it is for any supporting photos or documentation that may help the request.
 

Refer to POST Attachments File under the API Reference section for more information.

idConditionalstring26f40e6e-dd6e-48fa- a797-62c0d3157388

ID of the attachment. You will obtain this value after attaching your file using the attachment API.

This is mandatory when an attachment is included.
nameConditionalstringAdditionalShipmentWorkDetails.docx

Name of the attachment. You will obtain this value after attaching your file using the attachment API, but you may change the name for your own reference when including this attachment in any order request. This is free text input.

This is mandatory when an attachment is included.
scheduleYesobject Schedule information that includes schedule type, and the starting and ending dates and times for the schedule.
scheduleTypeYesstringSCHEDULED_MAINTENANCESTANDARD,
EXPEDITED,
SCHEDULED_MAINTENANCE

Define your preferred scheduling type.

Schedule Types

STANDARD: Request will be processed in the standard turnaround time. Most requests are completed within 24 to 72 hours pending your install base readiness. Requests will be processed in the order they were received, unless they are expedited.
- Parameters 'requestedStartDate' and 'requestedCompletionDate' are not required.

EXPEDITED: Request will be completed within the next 2 to 24 hours. Additional Smart Hands fees may apply. Schedule a time in the current local time of the IBX you selected. Equinix will contact customer for schedule negotiation if preferred scheduling cannot be met.
- Parameter 'requestedCompletionDate' is required.

SCHEDULED_MAINTENANCE: Request will be scheduled as Customer Requested Maintenance. Additional Smart Hands fees may apply if your scheduled time is less than 24 hours from when the order is submitted. Equinix will contact customer for schedule negotiation if preferred scheduling cannot be met.
- Parameters 'requestedStartDate' and 'requestedCompletionDate' are required.
requestedStartDateConditionalstring2019-08-30T22:00:49.776Z

Requested start date and time.

If 'STANDARD' or 'EXPEDITED' schedule type, this parameter is not required.

If 'SCHEDULED_MAINTENANCE' schedule type, provide a date and time (UTC timezone) in one of the following ISO 8601 formats:

yyyy-MM-dd'T'HH:mm:ssZ,
yyyy-MM-dd'T'HH:mm:ss.SSSZ.
requestedCompletionDateConditionalstring2019-08-31T22:00:49.776Z

Requested end date and time.

If 'STANDARD' schedule type, this parameter is not required.

If 'EXPEDITED' or 'SCHEDULED_MAINTENANCE' schedule type, provide a date and time (UTC timezone) in one of the following ISO 8601 formats:

yyyy-MM-dd'T'HH:mm:ssZ,
yyyy-MM-dd'T'HH:mm:ss.SSSZ.

Expedited scheduling date should not be less than IBX local time + 2 hours, and no more than IBX local time + 24 hours.

Scheduled maintenance scheduling should not be less than 24 hours from when the order is submitted. Otherwise, additional Smart Hands fees may apply.
customerReferenceNumberNostringEQX-PO2019-08-001

Customer reference information for this order. This is free text input.

This can be a Purchase Order number or an internal code. This information can be searched for in Order History and will appear within Reports.

This field can only be up to 50 characters long.
purchaseOrderConditionalobject

Purchase order (PO) information details.

This is mandatory for PO bearing accounts.
 

If you do not know your account's PO bearing status, refer to GET Smarthands Locations under the API Reference section.

purchaseOrderTypeConditionalstringEXEMPTEDEXISTING,
EXEMPTED

Purchase order can be defined as new, existing, or exempted.

However, only existing and exempted purchase order types are currently being supported.

If 'EXISTING', the blanket purchase order is already known to Equinix and the purchase order number must be sent. Only numbers for blanket purchase orders will be accepted. If you do not have a valid blanket purchase order number, see 'EXEMPTED'.

If 'EXEMPTED', there are 2 scenarios where this option applies:-

1. A purchase order exemption form has already been submitted and approved, and a purchase order number is not required. No additional information or attachments are required.

2. A purchase order exemption request is made together with this order. A Purchase Order Exemption form should be attached to facilitate the exemption request.

This is mandatory for PO bearing accounts.
numberConditionalstring

Blanket purchase order number. This is free text input.

This field can only be up to 20 characters long.

If the blanket purchase order number submitted throws an error, select 'EXEMPTED' for purchase order type instead.

This is mandatory if purchase order type is 'EXISTING'.
attachmentConditionalobject

An object containing the attachment details of the Purchase Order Exemption Form.

Use the document below as a template for your Purchase Order Exemption Form.

Download Purchase Order Exemption Form Template.

The attachment, not exceeding 5MB, can be provided in the following formats: bmp, jpg, jpeg, gif, png, tif, tiff, txt, doc, docx, xls, xlsx, ppt, pps, ppsx, pdf, and vsd.
 

This should be included when purchase order type is 'EXEMPTED' and you are submitting a Purchase Order Exemption form.

 

Refer to POST Attachments File under the API Reference section for more information.

idConditionalstringabc1fd2e-345f-67g4-hi89-01jk234l5m6n

ID of the attachment. You will obtain this value after attaching your file using the attachment API.

This is mandatory when an attachment is included.
nameConditionalstringPurchaseOrderExemptionForm123.docx

Name of the attachment. You will obtain this value after attaching your file using the attachment API, but you may change the name for your own reference when including this attachment in any order request. This is free text input.

This is mandatory when an attachment is included.
contactsYesarray [objects] Contact information consists of the Ordering contact details, Technical contact details, and Notification contact details.
contactTypeYesstringORDERINGORDERING,
TECHNICAL,
NOTIFICATION

There are three types of contact persons: Ordering, Technical, and Notification. All three contacts are mandatory.

- Ordering contact person: Person who created the order. Only one Ordering contact can be passed.
- Technical contact person: Person who Equinix can reach out to for technical clarifications. Only one Technical contact can be passed.
- Notification contact person: Person who will be notified of status updates. At least one notification contact must be provided. If notification contact is not available to pass, use ordering contact as notification contact.
userNameYesstringjohndoe

Equinix-registered username of contact person whose user profile is active or locked.

For Ordering contact, Equinix-registered username of contact person must be active.

For Notification and Technical contacts, Equinix-registered username of contact person can be active or locked.

If the Technical contact does not have the required Equinix-registered username, their full name, email address, work phone, and work phone timezone calling preference must be provided. It is recommended to also include the work phone country code. Additional information such as mobile phone country code, mobile phone number, and their availability to take calls on their mobile phone may also be provided.

With the exception of the mandatory contact information required for the Technical contact, any other additional contact information passed together with a 'userName' for Ordering, Technical, and Notification contacts will be ignored.

For example, when 'email' and 'workPhone' are passed with 'userName' for Notification contact, these contact details will be ignored.
nameConditionalstringJane Smith

Full name of contact person. This is free text input.

This is mandatory when the Technical contact does not have an active or locked Equinix-registered username.
emailConditionalstringjanesmith@corporation.com

Email information of contact person. This is free text input.

This is mandatory when the Technical contact does not have an active or locked Equinix-registered username.
workPhoneCountryCodeNostring+44

Country code for work phone number of contact person. This is free text input.

Example: +571
 

It is recommended to include the work phone country code.

workPhoneConditionalstring0148211111

Work phone number of contact person. This is free text input.

This is mandatory when the Technical contact does not have an active or locked Equinix-registered username.
workPhonePrefToCallYesstringANYTIMENEVER,
ANYTIME,
MY_BUSINESS_HOURS,
IBX_BUSINESS_HOURS,
BUSINESS_HOURS

Availability of Technical contact person to take calls. This is mandatory for the Technical contact.

Call Preference - Description
NEVER - Does not take calls.
ANYTIME - Takes calls anytime.
MY_BUSINESS_HOURS - Takes calls only during their business days from 9am to 5pm in their specified time zone. The body parameter 'workPhoneTimeZone' is mandatory to pass when this option is selected.
IBX_BUSINESS_HOURS - Takes calls only during the business hours of the IBX. This would be in the IBX time zone from Mondays to Fridays, 9am to 5pm.

Deprecated values
BUSINESS_HOURS - This value will be removed in the near future.
workPhoneTimeZoneConditionalstringEurope/LondonClick here for applicable values.

This indicates the specific timezone of the Technical contact's business hours that follows the IANA time zone database names format.

This is mandatory when 'MY_BUSINESS_HOURS' is selected for 'workPhonePrefToCall'.
mobilePhoneCountryCodeNostring+1

Country code for mobile phone number of contact person. This is free text input.

Example: +571
mobilePhoneNostring0123456789 Mobile phone number of contact person. This is free text input.
mobilePhonePrefToCallNostringMY_BUSINESS_HOURSNEVER,
ANYTIME,
MY_BUSINESS_HOURS,
IBX_BUSINESS_HOURS,
BUSINESS_HOURS

Availability of Technical contact person to take calls on their mobile phone.

For description of applicable values, refer to description of body parameter 'workPhonePrefToCall'.
mobilePhoneTimeZoneConditionalstringEurope/LondonClick here for applicable values.

This indicates the specific timezone of the Technical contact's business hours that follows the IANA time zone database names format.

This should be included when 'MY_BUSINESS_HOURS' is selected for 'mobilePhonePrefToCall' and the mobile phone timezone differs from the work phone timezone.
If 'mobilePhoneTimeZone' is not included, it will be assumed that both the work phone and mobile phone timezones are the same.
{
"OrderNumber": "1-457809872838"
}

The description of the response payload is as follows:

Field nameTypeExampleDescription
OrderNumberstring1-457809872838The order number created after order is submitted.
 

If you get “Insufficient permissions” error, contact your Master Administrator.

Order more cables

OrderMoreCables

Step 1: Authenticate

Submit your user credentials, Client ID, and Client Secret for OAuth2 authentication.

 

Refer to Generating Client ID and Client Secret under Getting Access Token section for instructions on how to create client ID and client secret and refer to Requesting Access and Refresh tokens for instructions on how to call Oauth API to validate and authenticate your credentials.

 

If you are unaware of your user credentials for Equinix Customer Portal, contact your local Equinix Service Desk. 

Step 2: Get Smart Hands Details

 

To get Smart Hands details, the user must have 'Smart Hands' permission. If you are unaware of your user permissions, contact your Master Administrator.

2a) Get Smart Hands Types
Retrieve all the Smart Hands categories supported by Equinix.

 

Refer to Get Smarthands Types under the API Reference section for instructions on how to get all Smart Hands types. You may skip this step if you already know the Smart Hands type.

2b) Get Location Information
Retrieve your IBX location information.

 

Use this API to get all available IBX locations, cages, and cabinets that the user has access to.

 

Refer to Get Smarthands Locations under the API Reference section for instructions on how to retrieve available IBX locations. You may skip this step if you already know the location information.

Step 3: Order Cables

 POST /smarthands/cableRequest
MethodPOST
URL or End Point/v1/orders/smarthands/cableRequest
HeadersAuthorization, Content-Type
Query ParametersNot applicable
BodyibxLocation {ibx, cages [{cage, cabinets[...], accountNumber}]}, serviceDetails {quantity, mediaType, connectorType, length, scopeOfWork, needSupportFromASubmarineCableStationEngineer}, attachments [{id, name}], schedule {scheduleType, requestedStartDate, requestedCompletionDate}, customerReferenceNumber, purchaseOrder {purchaseOrderType, number, attachment {id, name}}, contacts [{contactType, userName}, {contactType, name, email, workPhoneCountryCode, workPhone, workPhonePrefToCall, workPhoneTimeZone, mobilePhoneCountryCode, mobilePhone, mobilePhonePrefToCall}]

This method orders cables per customer specifications. This can only be done under a user with Smart Hands ordering permission. The authorization token and content-type are the only headers that are passed to this API and a response is received based on the values passed.

 

If you are unaware of how to obtain an authorization token, refer to Requesting Access and Refresh tokens under the Getting Access Token section.

The following screenshots show a sample curl request and JSON response for this method.

The request indicates four scenarios:
(A) An order for the same type of cable(s) without additional information, attachments, or contacts
(B) An order for the same type of cable(s) with additional information, attachments, and contacts
(C) An order for different cables without additional information, attachments, or contacts
(D) An order for different cables with additional information, attachments, and contacts

The response indicates the order was successful and returned the order number.

(A) An order for the same type of cable(s) without additional information, attachments, or contacts

curl -X
POST "https://api.equinix.com/v1/orders/smarthands/cableRequest"
-H "content-type: application/json"
-H "authorization: Bearer qwErtY8zyW1abcdefGHI"
-d '{
"ibxLocation": {
"ibx": "AM1",
"cages": [
{
"cage": "AM1:0J:00JD11",
"accountNumber": "126854"
}
]
},
"serviceDetails": {
"quantity": "1",
"scopeOfWork": "25m Multi-mode 62.5mic with RJ45 connector cable(s). Leave cable in cage(s)."
},
"schedule": {
"scheduleType": "SCHEDULED_MAINTENANCE",
"requestedStartDate": "2019-08-30T22:00:49.776Z",
"requestedCompletionDate": "2019-08-31T22:00:49.776Z"
},
"contacts": [
{
"contactType": "ORDERING",
"userName": "johndoe"
},
{
"contactType": "TECHNICAL",
"userName": "johndoe",
"workPhonePrefToCall": "ANYTIME"
},
{
"contactType": "NOTIFICATION",
"userName": "johndoe"
}
]
}'

(B) An order for the same type of cable(s) with additional information, attachments, and contacts

 

Before creating an order with attachment, call the POST Attachments File under the API Reference section.

curl -X
POST "https://api.equinix.com/v1/orders/smarthands/cableRequest"
-H "content-type: application/json"
-H "authorization: Bearer qwErtY8zyW1abcdefGHI"
-d '{
"ibxLocation": {
"ibx": "AM1",
"cages": [
{
"cage": "AM1:0J:00JD11",
"accountNumber": "126854"
}
]
},
"serviceDetails": {
"quantity": "10",
"mediaType": "Multi-mode 62.5mic",
"connectorType": "RJ45",
"length": "25cm",
"scopeOfWork": "Refer to attachment.",
"needSupportFromASubmarineCableStationEngineer": true
},
"attachments": [
{
"id": "fcb4a673-6308-456e-8f83-f745501d60ba",
"name": "additionalattachment.docx"
}
],
"schedule": {
"scheduleType": "SCHEDULED_MAINTENANCE",
"requestedStartDate": "2019-08-30T22:00:49.776Z",
"requestedCompletionDate": "2019-08-31T22:00:49.776Z"
},
"customerReferenceNumber": "EQX-PO2019-08-001",
"purchaseOrder": {
"purchaseOrderType": "EXEMPTED",
"attachment": {
"id": "abc1fd2e-345f-67g4-hi89-01jk234l5m6n",
"name": "PurchaseOrderExemptionForm123.docx"
}
},
"contacts": [
{
"contactType": "ORDERING",
"userName": "johndoe"
},
{
"contactType": "TECHNICAL",
"name": "Jane Smith",
"email": "janesmith@corporation.com",
"workPhoneCountryCode": "+44",
"workPhone": "0148211111",
"workPhonePrefToCall": "MY_BUSINESS_HOURS",
"workPhoneTimeZone": "Europe/London",
"mobilePhoneCountryCode": "+44",
"mobilePhone": "0123456789",
"mobilePhonePrefToCall": "MY_BUSINESS_HOURS",
"mobilePhoneTimeZone": "Europe/London"
},
{
"contactType": "NOTIFICATION",
"userName": "johndoe"
},
{
"contactType": "NOTIFICATION",
"userName": "jillsnow"
}
]
}'

(C) An order for different cables without additional information, attachments, or contacts

curl -X
POST "https://api.equinix.com/v1/orders/smarthands/cableRequest"
-H "content-type: application/json"
-H "authorization: Bearer qwErtY8zyW1abcdefGHI"
-d '{
"ibxLocation": {
"ibx": "AM1",
"cages": [
{
"cage": "AM1:0J:00JD11",
"accountNumber": "126854"
}
]
},
"serviceDetails": {
"quantity": ">10",
"scopeOfWork": "x8 25m Multi-mode 62.5mic with RJ45 connector cables, and x5 5m Multi-mode 62.5mic with ST connector cables. Leave in cage."
},
"schedule": {
"scheduleType": "SCHEDULED_MAINTENANCE",
"requestedStartDate": "2019-08-30T22:00:49.776Z",
"requestedCompletionDate": "2019-08-31T22:00:49.776Z"
},
"contacts": [
{
"contactType": "ORDERING",
"userName": "johndoe"
},
{
"contactType": "TECHNICAL",
"userName": "johndoe",
"workPhonePrefToCall": "ANYTIME"
},
{
"contactType": "NOTIFICATION",
"userName": "johndoe"
}
]
}'

(D) An order for different cables with additional information, attachments, and contacts

 

Before creating an order with attachment, call the POST Attachments File under the API Reference section.

curl -X
POST "https://api.equinix.com/v1/orders/smarthands/cableRequest"
-H "content-type: application/json"
-H "authorization: Bearer qwErtY8zyW1abcdefGHI"
-d '{
"ibxLocation": {
"ibx": "AM1",
"cages": [
{
"cage": "AM1:0J:00JD11",
"cabinets": [
"AM1:0J:00JD11:0001"
],
"accountNumber": "126854"
}
]
},
"serviceDetails": {
"quantity": ">10",
"scopeOfWork": "Refer to attachment.",
"needSupportFromASubmarineCableStationEngineer": true
},
"attachments": [
{
"id": "fcb4a673-6308-456e-8f83-f745501d60ba",
"name": "additionalattachment.docx"
}
],
"schedule": {
"scheduleType": "SCHEDULED_MAINTENANCE",
"requestedStartDate": "2019-08-30T22:00:49.776Z",
"requestedCompletionDate": "2019-08-31T22:00:49.776Z"
},
"customerReferenceNumber": "EQX-PO2019-08-001",
"purchaseOrder": {
"purchaseOrderType": "EXEMPTED",
"attachment": {
"id": "abc1fd2e-345f-67g4-hi89-01jk234l5m6n",
"name": "PurchaseOrderExemptionForm123.docx"
}
},
"contacts": [
{
"contactType": "ORDERING",
"userName": "johndoe"
},
{
"contactType": "TECHNICAL",
"name": "Jane Smith",
"email": "janesmith@corporation.com",
"workPhoneCountryCode": "+44",
"workPhone": "0148211111",
"workPhonePrefToCall": "MY_BUSINESS_HOURS",
"workPhoneTimeZone": "Europe/London",
"mobilePhoneCountryCode": "+44",
"mobilePhone": "0123456789",
"mobilePhonePrefToCall": "MY_BUSINESS_HOURS",
"mobilePhoneTimeZone": "Europe/London"
},
{
"contactType": "NOTIFICATION",
"userName": "johndoe"
},
{
"contactType": "NOTIFICATION",
"userName": "jillsnow"
}
]
}'

The description of the body parameters is as follows:

 

When 'Conditional' is indicated for a Body Parameter, refer to Description for further details.

Body Parameter NameMandatoryTypeExampleApplicable ValuesDescription
ibxLocationYesobject IBX location information consists of the cages information and IBX.
ibxYesstringAM1

The IBX location code.

For example, AM1 is an IBX data centre in Amsterdam, Netherlands.
cagesYesarray [objects]

Cages information consists of ID of cage, ID of cabinet, and cage account number.

 

Only 1 cage per order is currently being supported. Provide information for only 1 cage.

cageYesstringAM1:0J:00JD11 ID of the cage.
cabinetsNoarray [strings]AM1:0J:00JD11:0001

ID of the cabinet.

 

If providing cabinet, provide only 1 cabinet ID. Only 1 cabinet is currently being supported per cage.

accountNumberYesstring126854 The customer account number that is linked to the cage.
serviceDetailsYesobject

Service details consist of the total quantity of cables the customer wants to order, and the scope of work.

Additional information such as media type of cable, connector type of cable, and length of cable can also be included as fields. If you are ordering only one cable or multiple cables with the same specifications, it is recommended to include these fields.

If you are ordering multiple cables with varying specifications, specify these in the scope of work. You may also attach your scope of work as a document if you exceed the character limit in this field.
quantityYesstring11,
2,
3,
4,
5,
6,
7,
8,
9,
10,
>10
Total number of cables customer wants to order.
mediaTypeNostringMulti-mode 62.5micMulti-mode 62.5mic,
Multi-mode 50mic,
Single-mode,
Cat-5,
Cat-6,
Coax,
POTS,
T1,
E1

Prefered media type of cable.

This is recommended when quantity is '1' or all ordered cables are the same specification.
connectorTypeNostringRJ45RJ45,
SC,
LC,
BNC,
Other

Prefered connector type of cable.

This is recommended when quantity is '1' or all ordered cables are the same specification.
lengthNostring25cm

Length of cable specified in centimetres or feet. This is free text input.

This is recommended when quantity is '1' or all ordered cables are the same specification.
scopeOfWorkYesstring

25m Multi-mode 62.5mic with RJ45 connector cable. Leave cable in cage,

Refer to attachment,

All are same cables. Leave in cage.

A detailed description of the scope of work. This is free text input.

This field can only be up to 4000 characters long.
needSupportFromASubmarineCableStationEngineerConditionalbooleantruetrue,
false

Requirement for submarine cable station engineer support.

This is mandatory for customers with Monet accounts.

If 'true', submarine cable station engineer support is required.

If 'false', submarine cable station engineer support is not required.

Default value: false
attachmentsNoarray [objects]

An array containing the attachment details.

Up to 5 attachments, each not exceeding 5MB, can be provided in the following formats: bmp, jpg, jpeg, gif, png, tif, tiff, txt, doc, docx, xls, xlsx, ppt, pps, ppsx, pdf, and vsd.

In this case, it is for any supporting photos or documentation that may help the request.
 

Refer to POST Attachments File under the API Reference section for more information.

idConditionalstringfcb2k8763-2947-456e- 8d68-f280753d60ba

ID of the attachment. You will obtain this value after attaching your file using the attachment API.

This is mandatory when an attachment is included.
nameConditionalstringadditionalattachment.docx

Name of the attachment. You will obtain this value after attaching your file using the attachment API, but you may change the name for your own reference when including this attachment in any order request. This is free text input.

This is mandatory when an attachment is included.
scheduleYesobject Schedule information that includes schedule type, and the starting and ending dates and times for the schedule.
scheduleTypeYesstringSCHEDULED_MAINTENANCESTANDARD,
EXPEDITED,
SCHEDULED_MAINTENANCE

Define your preferred scheduling type.

Schedule Types

STANDARD: Request will be processed in the standard turnaround time. Most requests are completed within 24 to 72 hours pending your install base readiness. Requests will be processed in the order they were received, unless they are expedited.
- Parameters 'requestedStartDate' and 'requestedCompletionDate' are not required.

EXPEDITED: Request will be completed within the next 2 to 24 hours. Additional Smart Hands fees may apply. Schedule a time in the current local time of the IBX you selected. Equinix will contact customer for schedule negotiation if preferred scheduling cannot be met.
- Parameter 'requestedCompletionDate' is required.

SCHEDULED_MAINTENANCE: Request will be scheduled as Customer Requested Maintenance. Additional Smart Hands fees may apply if your scheduled time is less than 24 hours from when the order is submitted. Equinix will contact customer for schedule negotiation if preferred scheduling cannot be met.
- Parameters 'requestedStartDate' and 'requestedCompletionDate' are required.
requestedStartDateConditionalstring2019-08-30T22:00:49.776Z

Requested start date and time.

If 'STANDARD' or 'EXPEDITED' schedule type, this parameter is not required.

If 'SCHEDULED_MAINTENANCE' schedule type, provide a date and time (UTC timezone) in one of the following ISO 8601 formats:

yyyy-MM-dd'T'HH:mm:ssZ,
yyyy-MM-dd'T'HH:mm:ss.SSSZ.

requestedCompletionDateConditionalstring2019-08-31T22:00:49.776Z

Requested end date and time.

If 'STANDARD' schedule type, this parameter is not required.

If 'EXPEDITED' or 'SCHEDULED_MAINTENANCE' schedule type, provide a date and time (UTC timezone) in one of the following ISO 8601 formats:

yyyy-MM-dd'T'HH:mm:ssZ,
yyyy-MM-dd'T'HH:mm:ss.SSSZ.

Expedited scheduling date should not be less than IBX local time + 2 hours, and no more than IBX local time + 24 hours.

Scheduled maintenance scheduling should not be less than 24 hours from when the order is submitted. Otherwise, additional Smart Hands fees may apply.
customerReferenceNumberNostringEQX-PO2019-08-001

Customer reference information for this order. This is free text input.

This can be a Purchase Order number or an internal code. This information can be searched for in Order History and will appear within Reports.

This field can only be up to 50 characters long.
purchaseOrderConditionalobject

Purchase order (PO) information details.

This is mandatory for PO bearing accounts.
 

If you do not know your account's PO bearing status, refer to GET Smarthands Locations under the API Reference section.

purchaseOrderTypeConditionalstringEXEMPTEDEXISTING,
EXEMPTED

Purchase order can be defined as new, existing, or exempted.

However, only existing and exempted purchase order types are currently being supported.

If 'EXISTING', the blanket purchase order is already known to Equinix and the purchase order number must be sent. Only numbers for blanket purchase orders will be accepted. If you do not have a valid blanket purchase order number, see 'EXEMPTED'.

If 'EXEMPTED', there are 2 scenarios where this option applies:-

1. A purchase order exemption form has already been submitted and approved, and a purchase order number is not required. No additional information or attachments are required.

2. A purchase order exemption request is made together with this order. A Purchase Order Exemption form should be attached to facilitate the exemption request.

This is mandatory for PO bearing accounts.
numberConditionalstring

Blanket purchase order number. This is free text input.

This field can only be up to 20 characters long.

If the blanket purchase order number submitted throws an error, select 'EXEMPTED' for purchase order type instead.

This is mandatory if purchase order type is 'EXISTING'.
attachmentConditionalobject

An object containing the attachment details of the Purchase Order Exemption Form.

Use the document below as a template for your Purchase Order Exemption Form.

Download Purchase Order Exemption Form Template.

The attachment, not exceeding 5MB, can be provided in the following formats: bmp, jpg, jpeg, gif, png, tif, tiff, txt, doc, docx, xls, xlsx, ppt, pps, ppsx, pdf, and vsd.
 

This should be included when purchase order type is 'EXEMPTED' and you are submitting a Purchase Order Exemption form.

 

Refer to POST Attachments File under the API Reference section for more information.

idConditionalstringabc1fd2e-345f-67g4-hi89-01jk234l5m6n

ID of the attachment. You will obtain this value after attaching your file using the attachment API.

This is mandatory when an attachment is included.
nameConditionalstringPurchaseOrderExemptionForm123.docx

Name of the attachment. You will obtain this value after attaching your file using the attachment API, but you may change the name for your own reference when including this attachment in any order request. This is free text input.

This is mandatory when an attachment is included.
contactsYesarray [objects] Contact information consists of the Ordering contact details, Technical contact details, and Notification contact details.
contactTypeYesstringORDERINGORDERING,
TECHNICAL,
NOTIFICATION

There are three types of contact persons: Ordering, Technical, and Notification. All three contacts are mandatory.

- Ordering contact person: Person who created the order. Only one Ordering contact can be passed.
- Technical contact person: Person who Equinix can reach out to for technical clarifications. Only one Technical contact can be passed.
- Notification contact person: Person who will be notified of status updates. At least one notification contact must be provided. If notification contact is not available to pass, use ordering contact as notification contact.
userNameYesstringjohndoe

Equinix-registered username of contact person whose user profile is active or locked.

For Ordering contact, Equinix-registered username of contact person must be active.

For Notification and Technical contacts, Equinix-registered username of contact person can be active or locked.

If the Technical contact does not have the required Equinix-registered username, their full name, email address, work phone, and work phone timezone calling preference must be provided. It is recommended to also include the work phone country code. Additional information such as mobile phone country code, mobile phone number, and their availability to take calls on their mobile phone may also be provided.

With the exception of the mandatory contact information required for the Technical contact, any other additional contact information passed together with a 'userName' for Ordering, Technical, and Notification contacts will be ignored.

For example, when 'email' and 'workPhone' are passed with 'userName' for Notification contact, these contact details will be ignored.
nameConditionalstringJane Smith

Full name of contact person. This is free text input.

This is mandatory when the Technical contact does not have an active or locked Equinix-registered username.
emailConditionalstringjanesmith@corporation.com

Email information of contact person. This is free text input.

This is mandatory when the Technical contact does not have an active or locked Equinix-registered username.
workPhoneCountryCodeNostring+44

Country code for work phone number of contact person. This is free text input.

Example: +571
 

It is recommended to include the work phone country code.

workPhoneConditionalstring0148211111

Work phone number of contact person. This is free text input.

This is mandatory when the Technical contact does not have an active or locked Equinix-registered username.
workPhonePrefToCallYesstringANYTIMENEVER,
ANYTIME,
MY_BUSINESS_HOURS,
IBX_BUSINESS_HOURS,
BUSINESS_HOURS

Availability of Technical contact person to take calls. This is mandatory for the Technical contact.

Call Preference - Description
NEVER - Does not take calls.
ANYTIME - Takes calls anytime.
MY_BUSINESS_HOURS - Takes calls only during their business days from 9am to 5pm in their specified time zone. The body parameter 'workPhoneTimeZone' is mandatory to pass when this option is selected.
IBX_BUSINESS_HOURS - Takes calls only during the business hours of the IBX. This would be in the IBX time zone from Mondays to Fridays, 9am to 5pm.

Deprecated values
BUSINESS_HOURS - This value will be removed in the near future.
workPhoneTimeZoneConditionalstringEurope/LondonClick here for applicable values.

This indicates the specific timezone of the Technical contact's business hours that follows the IANA time zone database names format.

This is mandatory when 'MY_BUSINESS_HOURS' is selected for 'workPhonePrefToCall'.
mobilePhoneCountryCodeNostring+1

Country code for mobile phone number of contact person. This is free text input.

Example: +571
mobilePhoneNostring0123456789
Mobile phone number of contact person. This is free text input.
mobilePhonePrefToCallNostringMY_BUSINESS_HOURSNEVER,
ANYTIME,
MY_BUSINESS_HOURS,
IBX_BUSINESS_HOURS,
BUSINESS_HOURS

Availability of Technical contact person to take calls on their mobile phone.

For description of applicable values, refer to description of body parameter 'workPhonePrefToCall'.
mobilePhoneTimeZoneConditionalstringEurope/LondonClick here for applicable values.

This indicates the specific timezone of the Technical contact's business hours that follows the IANA time zone database names format.

This should be included when 'MY_BUSINESS_HOURS' is selected for 'mobilePhonePrefToCall' and the mobile phone timezone differs from the work phone timezone.
If 'mobilePhoneTimeZone' is not included, it will be assumed that both the work phone and mobile phone timezones are the same.
{
"OrderNumber": "1-190986534844"
}

The description of the response payload is as follows:

Field nameTypeExampleDescription
OrderNumberstring1-190986534844The order number created after order is submitted.
 

If you get “Insufficient permissions” error, contact your Master Administrator.

Order packages location

OrderPackagesLocation

Step 1: Authenticate

Submit your user credentials, Client ID, and Client Secret for OAuth2 authentication.

 

Refer to Generating Client ID and Client Secret under Getting Access Token section for instructions on how to create client ID and client secret and refer to Requesting Access and Refresh tokens for instructions on how to call Oauth API to validate and authenticate your credentials.

 

If you are unaware of your user credentials for Equinix Customer Portal, contact your local Equinix Service Desk. 

Step 2: Schedule an inbound shipment

 

To schedule an inbound shipment, the user must have 'Shipments' permission. If you are unaware of your user permissions, contact your Master Administrator.

Schedule an inbound shipment and retrieve the order number
Retrieve the inbound shipment order number after scheduling an inbound shipment.

 

Refer to How to schedule an Inbound Shipment? under How to schedule shipments section of the Getting Started for ECP use cases for instructions on how to schedule an inbound shipment, or refer to How to retrieve order history? under the Getting Started for ECP use cases section for instructions on how to retrieve an order number for an inbound shipment that has already been scheduled. You may skip this step if you already have the inbound shipment order number.

Step 3: Get Smart Hands Details

 

To get Smart Hands details, the user must have 'Smart Hands' permission. If you are unaware of your user permissions, contact your Master Administrator.

3a) Get Smart Hands Types
Retrieve all the Smart Hands categories supported by Equinix.

 

Refer to Get Smarthands Types under the API Reference section for instructions on how to get all Smart Hands types. You may skip this step if you already know the Smart Hands type.

3b) Get Location Information
Retrieve your IBX location information.

 

Use this API to get all available IBX locations, cages, and cabinets that the user has access to.

 

Refer to Get Smarthands Locations under the API Reference section for instructions on how to retrieve available IBX locations. You may skip this step if you already know the location information.

Step 4: Order packages location

 POST /smarthands/locatePackage
MethodPOST
URL or End Point/v1/orders/smarthands/locatePackage
HeadersAuthorization, Content-Type
Query ParametersNot applicable
BodyibxLocation {ibx, cages [{cage, cabinets[...], accountNumber}]}, serviceDetails {shipmentOrderNumber, trackingNumber, possibleLocation, packageDescription, scopeOfWork, needSupportFromASubmarineCableStationEngineer}, attachments [{id, name}], schedule {scheduleType, requestedStartDate, requestedCompletionDate}, customerReferenceNumber, purchaseOrder {purchaseOrderType, number, attachment {id, name}}, contacts [{contactType, userName}, {contactType, name, email, workPhoneCountryCode, workPhone, workPhonePrefToCall, workPhoneTimeZone, mobilePhoneCountryCode, mobilePhone, mobilePhonePrefToCall, mobilePhoneTimeZone}]

This method requests the location of your packages at the IBX. This can only be done by a user with Smart Hands ordering permission. The authorization token and content-type are the only headers that are passed to this API and a response is received based on the values passed.

 

An inbound shipment order number must be provided to order a Smarthands Locate Package. If you have not raised an inbound shipment order, refer to How to schedule an inbound shipment? under the Getting Started for ECP use cases section. If you have already raised an inbound shipment order, but do not know the inbound shipment order number, refer to How to retrieve order history? under the Getting Started for ECP use cases section to retrieve your inbound shipment order number.

 

If you are unaware of how to obtain an authorization token, refer to Requesting Access and Refresh tokens under the Getting Access Token section.

The following screenshots show a sample curl request and JSON response for this method.

The request indicates two scenarios: an order to locate packages without additional information, attachments, or contacts; and an order to locate packages with additional information, attachments, or contacts.

The response indicates the order was successful and returned the order number.

Locate Package without additional information, attachments, or contacts

curl -X
POST "https://api.equinix.com/v1/orders/smarthands/locatePackage"
-H "content-type: application/json"
-H "authorization: Bearer qwErtY8zyW1abcdefGHI"
-d '{
"ibxLocation": {
"ibx": "AM1",
"cages": [
{
"cage": "AM1:0J:00JD11",
"accountNumber": "126854"
}
]
},
"serviceDetails": {
"shipmentOrderNumber": "1-1234567890",
"trackingNumber": "All tracking numbers in this shipment order.",
"possibleLocation": "Last known location was the loading bay.",
"packageDescription": "Multiple DHL boxes.",
"scopeOfWork": "Locate and group all boxes together in a fixed location for easy identification and later collection."
},
"schedule": {
"scheduleType": "SCHEDULED_MAINTENANCE",
"requestedStartDate": "2019-08-30T22:00:49.776Z",
"requestedCompletionDate": "2019-08-31T22:00:49.776Z"
},
"contacts": [
{
"contactType": "ORDERING",
"userName": "johndoe"
},
{
"contactType": "TECHNICAL",
"userName": "johndoe",
"workPhonePrefToCall": "ANYTIME"
},
{
"contactType": "NOTIFICATION",
"userName": "johndoe"
}
]
}'

Locate Package with additional information, attachments, and contacts

 

Before creating an order with attachment, call the POST Attachments File API under the API Reference section.

curl -X
POST "https://api.equinix.com/v1/orders/smarthands/locatePackage"
-H "content-type: application/json"
-H "authorization: Bearer qwErtY8zyW1abcdefGHI"
-d '{
"ibxLocation": {
"ibx": "AM1",
"cages": [
{
"cage": "AM1:0J:00JD11",
"cabinets": [
"AM1:0J:00JD11:0001"
],
"accountNumber": "126854"
}
]
},
"serviceDetails": {
"shipmentOrderNumber": "1-1234567890",
"trackingNumber": "All tracking numbers in this shipment order.",
"possibleLocation": "Last known location was the loading bay.",
"packageDescription": "Multiple DHL boxes.",
"scopeOfWork": "Locate and group all boxes together in a fixed location for easy identification and later collection.",
"needSupportFromASubmarineCableStationEngineer": true
},
"attachments": [
{
"id": "fcb2k8763-2947-456e-8d68-f280753d60ba",
"name": "AdditionalShipmentWorkDetails.docx"
}
],
"schedule": {
"scheduleType": "SCHEDULED_MAINTENANCE",
"requestedStartDate": "2019-08-30T22:00:49.776Z",
"requestedCompletionDate": "2019-08-31T22:00:49.776Z"
},
"customerReferenceNumber": "EQX-PO2019-08-001",
"purchaseOrder": {
"purchaseOrderType": "EXEMPTED",
"attachment": {
"id": "abc1fd2e-345f-67g4-hi89-01jk234l5m6n",
"name": "PurchaseOrderExemptionForm123.docx"
}
},
"contacts": [
{
"contactType": "ORDERING",
"userName": "johndoe"
},
{
"contactType": "TECHNICAL",
"name": "Jane Smith",
"email": "janesmith@corporation.com",
"workPhoneCountryCode": "+44",
"workPhone": "0148211111",
"workPhonePrefToCall": "MY_BUSINESS_HOURS",
"workPhoneTimeZone": "Europe/London",
"mobilePhoneCountryCode": "+44",
"mobilePhone": "0123456789",
"mobilePhonePrefToCall": "MY_BUSINESS_HOURS",
"mobilePhoneTimeZone": "Europe/London"
},
{
"contactType": "NOTIFICATION",
"userName": "johndoe"
},
{
"contactType": "NOTIFICATION",
"userName": "janesmith"
}
]
}'

The description of the body parameters is as follows:

 

When 'Conditional' is indicated for a Body Parameter, refer to Description for further details.

Body Parameter NameMandatoryTypeExampleApplicable ValuesDescription
ibxLocationYesobject IBX location information consists of the cages information and IBX.
ibxYesstringAM1

The IBX location code.

For example, AM1 is an IBX data centre in Amsterdam, Netherlands.
cagesYesarray [objects]

Cages information consists of ID of cage, ID of cabinet, and cage account number.

 

Only 1 cage per order is currently being supported. Provide information for only 1 cage.

cageYesstringAM1:0J:00JD11 ID of the cage.
cabinetsNoarray [strings]AM1:0J:00JD11:0001

ID of the cabinet.

 

If providing cabinet, provide only 1 cabinet ID. Only 1 cabinet is currently being supported per cage.

accountNumberYesstring126854 The customer account number that is linked to the cage.
serviceDetailsYesobject Service details consist of inbound shipment order number, requirement to dispose packaging, requirement to provide customer with a packing slip copy, and scope of work.
shipmentOrderNumberYesstring1-1234567890

The order number for the shipment. This is free text input.

This field can only be up to 50 characters long.
 

If you have not raised an inbound shipment order, refer to How to schedule an inbound shipment? under the Getting Started for ECP use cases section.

If you have already raised an inbound shipment order, but do not know the inbound shipment order number, refer to How to retrieve order history? under the Getting Started for ECP use cases section to retrieve your inbound shipment order number.
trackingNumberYesstringAll tracking numbers in this shipment order.

Tracking number(s) of specific shipments to be located. This is free text input.

Multiple tracking numbers should be comma-separated.

This field can only be up to 200 characters long.
possibleLocationYesstringLast known location was the loading bay.

Possible location(s) where the packages may be found. This will help to expedite the search. This is free text input.

This field can only be up to 200 characters long.
packageDescriptionYesstringMultiple DHL boxes.

Description of packages. This will help to expedite the search. This is free text input.

For example, 4 Brown boxes with bright red lettering measuring 1m x 1m x 1m.

This field can only be up to 200 characters long.
scopeOfWorkYesstringLocate and group all boxes together in a fixed location for easy identification and later collection.

A detailed description of the scope of work. This is free text input.

This field can only be up to 4000 characters long.
needSupportFromASubmarineCableStationEngineerConditionalbooleantruetrue,
false

Requirement for submarine cable station engineer support.

This is mandatory for customers with Monet accounts.

If 'true', submarine cable station engineer support is required.

If 'false', submarine cable station engineer support is not required.

Default value: false
attachmentsNoarray [objects]

An array containing the attachment details.

Up to 5 attachments, each not exceeding 2MB, can be provided in the following formats: bmp, jpg, jpeg, gif, png, tif, tiff, txt, doc, docx, xls, xlsx, ppt, pps, ppsx, pdf, and vsd.

In this case, it is for any supporting photos or documentation that may help the request.
 

Refer to POST Attachments File under the API Reference section for more information.

idConditionalstringfcb2k8763-2947-456e- 8d68-f280753d60ba

ID of the attachment. You will obtain this value after attaching your file using the attachment API.

This is mandatory when an attachment is included.
nameConditionalstringAdditionalShipmentWorkDetails.docx

Name of the attachment. You will obtain this value after attaching your file using the attachment API, but you may change the name for your own reference when including this attachment in any order request. This is free text input.

This is mandatory when an attachment is included.
scheduleYesobject Schedule information that includes schedule type, and the starting and ending dates and times for the schedule.
scheduleTypeYesstringSCHEDULED_MAINTENANCESTANDARD,
EXPEDITED,
SCHEDULED_MAINTENANCE

Define your preferred scheduling type.

Schedule Types

STANDARD: Request will be processed in the standard turnaround time. Most requests are completed within 24 to 72 hours pending your install base readiness. Requests will be processed in the order they were received, unless they are expedited.
- Parameters 'requestedStartDate' and 'requestedCompletionDate' are not required.

EXPEDITED: Request will be completed within the next 2 to 24 hours. Additional Smart Hands fees may apply. Schedule a time in the current local time of the IBX you selected. Equinix will contact customer for schedule negotiation if preferred scheduling cannot be met.
- Parameter 'requestedCompletionDate' is required.

SCHEDULED_MAINTENANCE: Request will be scheduled as Customer Requested Maintenance. Additional Smart Hands fees may apply if your scheduled time is less than 24 hours from when the order is submitted. Equinix will contact customer for schedule negotiation if preferred scheduling cannot be met.
- Parameters 'requestedStartDate' and 'requestedCompletionDate' are required.
requestedStartDateConditionalstring2019-08-30T22:00:49.776Z

Requested start date and time.

If 'STANDARD' or 'EXPEDITED' schedule type, this parameter is not required.

If 'SCHEDULED_MAINTENANCE' schedule type, provide a date and time (UTC timezone) in one of the following ISO 8601 formats:

yyyy-MM-dd'T'HH:mm:ssZ,
yyyy-MM-dd'T'HH:mm:ss.SSSZ.
requestedCompletionDateConditionalstring2019-08-31T22:00:49.776Z

Requested end date and time.

If 'STANDARD' schedule type, this parameter is not required.

If 'EXPEDITED' or 'SCHEDULED_MAINTENANCE' schedule type, provide a date and time (UTC timezone) in one of the following ISO 8601 formats:

yyyy-MM-dd'T'HH:mm:ssZ,
yyyy-MM-dd'T'HH:mm:ss.SSSZ.

Expedited scheduling date should not be less than IBX local time + 2 hours, and no more than IBX local time + 24 hours.

Scheduled maintenance scheduling should not be less than 24 hours from when the order is submitted. Otherwise, additional Smart Hands fees may apply.
customerReferenceNumberNostringEQX-PO2019-08-001

Customer reference information for this order. This is free text input.

This can be a Purchase Order number or an internal code. This information can be searched for in Order History and will appear within Reports.

This field can only be up to 50 characters long.
purchaseOrderConditionalobject

Purchase order (PO) information details.

This is mandatory for PO bearing accounts.
 

If you do not know your account's PO bearing status, refer to GET Smarthands Locations under the API Reference section.

purchaseOrderTypeConditionalstringEXISTINGEXISTING,
EXEMPTED

Purchase order can be defined as new, existing, or exempted.

However, only existing and exempted purchase order types are currently being supported.

If 'EXISTING', the blanket purchase order is already known to Equinix and the purchase order number must be sent. Only numbers for blanket purchase orders will be accepted. If you do not have a valid blanket purchase order number, see 'EXEMPTED'.

If 'EXEMPTED', there are 2 scenarios where this option applies:-


1. A purchase order exemption form has already been submitted and approved, and a purchase order number is not required. No additional information or attachments are required.

2. A purchase order exemption request is made together with this order. A Purchase Order Exemption form should be attached to facilitate the exemption request.

This is mandatory for PO bearing accounts.
numberConditionalstring

Blanket purchase order number. This is free text input.

This field can only be up to 20 characters long.

If the blanket purchase order number submitted throws an error, select 'EXEMPTED' for purchase order type instead.

This is mandatory if purchase order type is 'EXISTING'.
attachmentConditionalobject

An object containing the attachment details of the Purchase Order Exemption Form.

Use the document below as a template for your Purchase Order Exemption Form.

Download Purchase Order Exemption Form Template.

The attachment, not exceeding 5MB, can be provided in the following formats: bmp, jpg, jpeg, gif, png, tif, tiff, txt, doc, docx, xls, xlsx, ppt, pps, ppsx, pdf, and vsd.
 

This should be included when purchase order type is 'EXEMPTED' and you are submitting a Purchase Order Exemption form.

 

Refer to POST Attachments File under the API Reference section for more information.

idConditionalstringabc1fd2e-345f-67g4-hi89-01jk234l5m6n

ID of the attachment. You will obtain this value after attaching your file using the attachment API.

This is mandatory when an attachment is included.
nameConditionalstringPurchaseOrderExemptionForm123.docx

Name of the attachment. You will obtain this value after attaching your file using the attachment API, but you may change the name for your own reference when including this attachment in any order request. This is free text input.

This is mandatory when an attachment is included.
contactsYesarray [objects] Contact information consists of the Ordering contact details, Technical contact details, and Notification contact details.
contactTypeYesstringORDERINGORDERING,
TECHNICAL,
NOTIFICATION

There are three types of contact persons: Ordering, Technical, and Notification. All three contacts are mandatory.

- Ordering contact person: Person who created the order. Only one Ordering contact can be passed.
- Technical contact person: Person who Equinix can reach out to for technical clarifications. Only one Technical contact can be passed.
- Notification contact person: Person who will be notified of status updates. At least one notification contact must be provided. If notification contact is not available to pass, use ordering contact as notification contact.
userNameYesstringjohndoe

Equinix-registered username of contact person whose user profile is active or locked.

For Ordering contact, Equinix-registered username of contact person must be active.

For Notification and Technical contacts, Equinix-registered username of contact person can be active or locked.

If the Technical contact does not have the required Equinix-registered username, their full name, email address, work phone, and work phone timezone calling preference must be provided. It is recommended to also include the work phone country code. Additional information such as mobile phone country code, mobile phone number, and their availability to take calls on their mobile phone may also be provided.

With the exception of the mandatory contact information required for the Technical contact, any other additional contact information passed together with a 'userName' for Ordering, Technical, and Notification contacts will be ignored.

For example, when 'email' and 'workPhone' are passed with 'userName' for Notification contact, these contact details will be ignored.
nameConditionalstringJane Smith

Full name of contact person. This is free text input.

This is mandatory when the Technical contact does not have an active or locked Equinix-registered username.
emailConditionalstringjanesmith@corporation.com

Email information of contact person. This is free text input.

This is mandatory when the Technical contact does not have an active or locked Equinix-registered username.
workPhoneCountryCodeNostring+44

Country code for work phone number of contact person. This is free text input.

Example: +571
 

It is recommended to include the work phone country code.

workPhoneConditionalstring0148211111

Work phone number of contact person. This is free text input.

This is mandatory when the Technical contact does not have an active or locked Equinix-registered username.
workPhonePrefToCallYesstringANYTIMENEVER,
ANYTIME,
MY_BUSINESS_HOURS,
IBX_BUSINESS_HOURS,
BUSINESS_HOURS

Availability of Technical contact person to take calls. This is mandatory for the Technical contact.

Call Preference - Description
NEVER - Does not take calls.
ANYTIME - Takes calls anytime.
MY_BUSINESS_HOURS - Takes calls only during their business days from 9am to 5pm in their specified time zone. The body parameter 'workPhoneTimeZone' is mandatory to pass when this option is selected.
IBX_BUSINESS_HOURS - Takes calls only during the business hours of the IBX. This would be in the IBX time zone from Mondays to Fridays, 9am to 5pm.

Deprecated values
BUSINESS_HOURS - This value will be removed in the near future.
workPhoneTimeZoneConditionalstringEurope/LondonClick here for applicable values.

This indicates the specific timezone of the Technical contact's business hours that follows the IANA time zone database names format.

This is mandatory when 'MY_BUSINESS_HOURS' is selected for 'workPhonePrefToCall'.
mobilePhoneCountryCodeNostring+1

Country code for mobile phone number of contact person. This is free text input.

Example: +571
mobilePhoneNostring0123456789 Mobile phone number of contact person. This is free text input.
mobilePhonePrefToCallNostringMY_BUSINESS_HOURSNEVER,
ANYTIME,
MY_BUSINESS_HOURS,
IBX_BUSINESS_HOURS,
BUSINESS_HOURS

Availability of Technical contact person to take calls on their mobile phone.

For description of applicable values, refer to description of body parameter 'workPhonePrefToCall'.
mobilePhoneTimeZoneConditionalstringEurope/LondonClick here for applicable values.

This indicates the specific timezone of the Technical contact's business hours that follows the IANA time zone database names format.

This should be included when 'MY_BUSINESS_HOURS' is selected for 'mobilePhonePrefToCall' and the mobile phone timezone differs from the work phone timezone.
If 'mobilePhoneTimeZone' is not included, it will be assumed that both the work phone and mobile phone timezones are the same.
{
"OrderNumber": "1-457809872838"
}

The description of the response payload is as follows:

Field nameTypeExampleDescription
OrderNumberstring1-457809872838The order number created after order is submitted.
 

If you get “Insufficient permissions” error, contact your Master Administrator.

Order patch cable installation

OrderPatchCableInstallation

Step 1: Authenticate

Submit your user credentials, Client ID, and Client Secret for OAuth2 authentication.

 

Refer to Generating Client ID and Client Secret under Getting Access Token section for instructions on how to create client ID and client secret and refer to Requesting Access and Refresh tokens for instructions on how to call Oauth API to validate and authenticate your credentials.

 

If you are unaware of your user credentials for Equinix Customer Portal, contact your local Equinix Service Desk. 

Step 2: Get Smart Hands Details

 

To get Smart Hands details, the user must have 'Smart Hands' permission. If you are unaware of your user permissions, contact your Master Administrator.

2a) Get Smart Hands Types
Retrieve all the Smart Hands categories supported by Equinix.

 

Refer to Get Smarthands Types under the API Reference section for instructions on how to get all Smart Hands types. You may skip this step if you already know the Smart Hands type.

2b) Get Location Information
Retrieve your IBX location information.

 

Use this API to get all available IBX locations, cages, and cabinets that the user has access to.

 

Refer to Get Smarthands Locations under the API Reference section for instructions on how to retrieve available IBX locations. You may skip this step if you already know the location information.

Step 3: Get Connection Details

 

To get the serial number of the connection, the user must have 'View Install Base' permission. If you are unaware of your user permissions, contact your Master Administrator.

Retrieve the serial number of the connection.

 

Use this API to determine the serial number of the cross connection for the patch cable installation.

 

Refer to How to retrieve assets? under the Getting Started for ECP use cases section for instructions on how to retirieve the cross connect serial number. You may skip this step if you already have the serial number.

If you cannot find the serial number of the cross connect, you should use "Serial # Not Found" as your serial number.

Step 4: Order Patch Cable Installation

 POST /smarthands/patchCableInstall
MethodPOST
URL or End Point/v1/orders/smarthands/patchCableInstall
HeadersAuthorization, Content-Type
Query ParametersNot applicable
BodyibxLocation {ibx, cages [{cage, cabinets[...], accountNumber}]}, serviceDetails {crossConnects [{serialNumber, deviceCabinet, deviceConnectorType, deviceDetails, devicePort, scopeOfWork, lightLinkVerification, needSupportFromASubmarineCableStationEngineer}]}, attachments [{id, name}], schedule {scheduleType, requestedStartDate, requestedCompletionDate}, customerReferenceNumber, purchaseOrder {purchaseOrderType, number, attachment {id, name}}, contacts [{contactType, userName}, {contactType, name, email, workPhoneCountryCode, workPhone, workPhonePrefToCall, workPhoneTimeZone, mobilePhoneCountryCode, mobilePhone, mobilePhonePrefToCall}]

This method orders patch cable installations per customer specifications by an Equinix IBX Technician. This can only be done by a user with Smart Hands ordering permission. The authorization token and content-type are the only headers that are passed to this API and a response is received based on the values passed.

 

If you are unaware of how to obtain an authorization token, refer to Requesting Access and Refresh tokens under the Getting Access Token section.

The following screenshots show a sample curl request and JSON response for this method.

The request indicates two scenarios: a patch cable installation ordered without additional information, attachments, or contacts, and a patch cable installation ordered with additional information, attachments, and contacts.

The response indicates the order was successful and returned the order number.

Patch Cable Installation without additional information, attachments, or contacts

curl -X
POST "https://api.equinix.com/v1/orders/smarthands/patchCableInstall"
-H "content-type: application/json"
-H "authorization: Bearer qwErtY8zyW1abcdefGHI"
-d '{
"ibxLocation": {
"ibx": "AM1",
"cages": [
{
"cage": "AM1:0J:00JD11",
"cabinets": [
"AM1:0J:00JD11:0001"
],
"accountNumber": "126854"
}
]
},
"serviceDetails": {
"crossConnects": [
{
"serialNumber": "123456789",
"deviceCabinet": "501",
"deviceConnectorType": "FC",
"deviceDetails": "Router1",
"devicePort": "Next Available"
}
]
},
"schedule": {
"scheduleType": "SCHEDULED_MAINTENANCE",
"requestedStartDate": "2019-08-30T22:00:49.776Z",
"requestedCompletionDate": "2019-08-31T22:00:49.776Z"
},
"contacts": [
{
"contactType": "ORDERING",
"userName": "johndoe"
},
{
"contactType": "TECHNICAL",
"userName": "johndoe",
"workPhonePrefToCall": "ANYTIME"
},
{
"contactType": "NOTIFICATION",
"userName": "johndoe"
}
]
}'

Patch Cable Installation with additional information, attachments, and contacts

 

Before creating an order with attachment, call the POST Attachments File under the API Reference section.

curl -X
POST "https://api.equinix.com/v1/orders/smarthands/patchCableInstall"
-H "content-type: application/json"
-H "authorization: Bearer qwErtY8zyW1abcdefGHI"
-d '{
"ibxLocation": {
"ibx": "AM1",
"cages": [
{
"cage": "AM1:0J:00JD11",
"cabinets": [
"AM1:0J:00JD11:0001"
],
"accountNumber": "126854"
}
]
},
"serviceDetails": {
"crossConnects": [
{
"serialNumber": "123456789",
"deviceCabinet": "501",
"deviceConnectorType": "FC",
"deviceDetails": "Router1",
"devicePort": "Next Available",
"scopeOfWork": "Refer to attachment for further instruction.",
"lightLinkVerification": true,
"needSupportFromASubmarineCableStationEngineer": true
}
]
},
"attachments": [
{
"id": "fcb4a673-6308-456e-8f83-f745501d60ba",
"name": "PatchCabelInstallationInstruction.docx"
}
],
"schedule": {
"scheduleType": "SCHEDULED_MAINTENANCE",
"requestedStartDate": "2019-08-30T22:00:49.776Z",
"requestedCompletionDate": "2019-08-31T22:00:49.776Z"
},
"customerReferenceNumber": "EQX-PO2019-08-001",
"purchaseOrder": {
"purchaseOrderType": "EXEMPTED",
"attachment": {
"id": "abc1fd2e-345f-67g4-hi89-01jk234l5m6n",
"name": "PurchaseOrderExemptionForm123.docx"
}
},
"contacts": [
{
"contactType": "ORDERING",
"userName": "johndoe"
},
{
"contactType": "TECHNICAL",
"name": "Jane Smith",
"email": "janesmith@corporation.com",
"workPhoneCountryCode": "+44",
"workPhone": "0148211111",
"workPhonePrefToCall": "MY_BUSINESS_HOURS",
"workPhoneTimeZone": "Europe/London",
"mobilePhoneCountryCode": "+44",
"mobilePhone": "0123456789",
"mobilePhonePrefToCall": "MY_BUSINESS_HOURS",
"mobilePhoneTimeZone": "Europe/London"
},
{
"contactType": "NOTIFICATION",
"userName": "johndoe"
},
{
"contactType": "NOTIFICATION",
"userName": "janesmith"
}
]
}'

The description of the body parameters is as follows:

 

When 'Conditional' is indicated for a Body Parameter, refer to Description for further details.

Body Parameter NameMandatoryTypeExampleApplicable ValuesDescription
ibxLocationYesobject IBX location information consists of the cages information and IBX.
ibxYesstringAM1

The IBX location code.

For example, AM1 is an IBX data centre in Amsterdam, Netherlands.
cagesYesarray [objects]

Cages information consists of ID of cage, ID of cabinet, and cage account number.

 

Only 1 cage per order is currently being supported. Provide information for only 1 cage.

cageYesstringAM1:0J:00JD11 ID of the cage.
cabinetsYesarray [strings]AM1:0J:00JD11:0001

ID of the cabinet.

 

Only 1 cabinet per order is currently being supported. Provide information for only 1 cabinet.

accountNumberYesstring126854 The customer account number that is linked to the cage.
serviceDetailsYesobject Service details consists of cross connections information.
crossConnectsYesarray [objects] Cross connections information consisting of the cross connection details due for patch cable installations.
serialNumberYesstring123456789Serial # Not Found

The serial number of the cross connect for the desired patch cable installation.

 

If you are unsure of the serial number of the cross connection, refer to How to retrieve assets? under the Getting Started for ECP use cases section for instructions on how to retrieve the serial number.

If you cannot find the serial number of the cross connect, you should use "Serial # Not Found" as your serial number.

deviceCabinetYesstring501

Cabinet where the device for patch cable installation is located. This is free text input.

 

In Smart Hands Patch Cable Installation or Removal, the cabinet number, which can be derived from the cabinet ID, can be passed as the value for parameter 'deviceCabinet'. ID of the cabinet consists of {cage ID}:{cabinet number}.

 

Refer to GET Smarthands Locations under the API Reference section for instructions on how to retrieve the cabinet number of your preferred device cabinet.

deviceConnectorTypeYesstringFCThe connector type for the patch cable. This is free text input.
deviceDetailsYesstringRouter1The details of the device. This is free text input.
devicePortYesstringNext Available The port number to install the patch cable. This is free text input.
scopeOfWorkNostringRefer to attachment for further instruction.

A detailed description of the scope of work. This is free text input.

This field can only be up to 4000 characters long.
lightLinkVerificationNobooleantruetrue,
false

This indicates if you would like a light reading provided and tx/rx verification after the cross connect is completed. In order to verify the correct transmit/receive alignment, ensure your Z-Side Cross Connect Partner has their end fully extended to their equipment and their port is enabled. A separate billable activity will be created.

If 'true', light link verification will be provided and additional fees will apply.

If 'false', light link verification will not be provided.

Default value: false.
needSupportFromASubmarineCableStationEngineerConditionalbooleantruetrue,
false

Requirement for submarine cable station engineer support.

This is mandatory for customers with Monet accounts.

If 'true', submarine cable station engineer support is required.

If 'false', submarine cable station engineer support is not required.

Default value: false
attachmentsNoarray [objects]

An array containing the attachment details.

Up to 5 attachments, each not exceeding 5MB, can be provided in the following formats: bmp, jpg, jpeg, gif, png, tif, tiff, txt, doc, docx, xls, xlsx, ppt, pps, ppsx, pdf, and vsd.

In this case, it is for any supporting photos or documentation that may help the request.
 

Refer to POST Attachments File under the API Reference section for more information.

idConditionalstringfcb2k8763-2947-456e- 8d68-f280753d60ba

ID of the attachment. You will obtain this value after attaching your file using the attachment API.

This is mandatory when an attachment is included.
nameConditionalstringPatchCabelInstallationInstruction.docx

Name of the attachment. You will obtain this value after attaching your file using the attachment API, but you may change the name for your own reference when including this attachment in any order request. This is free text input.

This is mandatory when an attachment is included.
scheduleYesobject Schedule information that includes schedule type, and the starting and ending dates and times for the schedule.
scheduleTypeYesstringSCHEDULED_MAINTENANCESTANDARD,
EXPEDITED,
SCHEDULED_MAINTENANCE

Define your preferred scheduling type.

Schedule Types

STANDARD: Request will be processed in the standard turnaround time. Most requests are completed within 24 to 72 hours pending your install base readiness. Requests will be processed in the order they were received, unless they are expedited.
- Parameters 'requestedStartDate' and 'requestedCompletionDate' are not required.

EXPEDITED: Request will be completed within the next 2 to 24 hours. Additional Smart Hands fees may apply. Schedule a time in the current local time of the IBX you selected. Equinix will contact customer for schedule negotiation if preferred scheduling cannot be met.
- Parameter 'requestedCompletionDate' is required.

SCHEDULED_MAINTENANCE: Request will be scheduled as Customer Requested Maintenance. Additional Smart Hands fees may apply if your scheduled time is less than 24 hours from when the order is submitted. Equinix will contact customer for schedule negotiation if preferred scheduling cannot be met.
- Parameters 'requestedStartDate' and 'requestedCompletionDate' are required.
requestedStartDateConditionalstring2019-08-30T22:00:49.776Z

Requested start date and time.

If 'STANDARD' or 'EXPEDITED' schedule type, this parameter is not required.

If 'SCHEDULED_MAINTENANCE' schedule type, provide a date and time (UTC timezone) in one of the following ISO 8601 formats:

yyyy-MM-dd'T'HH:mm:ssZ,
yyyy-MM-dd'T'HH:mm:ss.SSSZ.
requestedCompletionDateConditionalstring2019-08-31T22:00:49.776Z

Requested end date and time.

If 'STANDARD' schedule type, this parameter is not required.

If 'EXPEDITED' or 'SCHEDULED_MAINTENANCE' schedule type, provide a date and time (UTC timezone) in one of the following ISO 8601 formats:

yyyy-MM-dd'T'HH:mm:ssZ,
yyyy-MM-dd'T'HH:mm:ss.SSSZ.

Expedited scheduling date should not be less than IBX local time + 2 hours, and no more than IBX local time + 24 hours.

Scheduled maintenance scheduling should not be less than 24 hours from when the order is submitted. Otherwise, additional Smart Hands fees may apply.
customerReferenceNumberNostringEQX-PO2019-08-001

Customer reference information for this order. This is free text input.

This can be a Purchase Order number or an internal code. This information can be searched for in Order History and will appear within Reports.

This field can only be up to 50 characters long.
purchaseOrderConditionalobject

Purchase order (PO) information details.

This is mandatory for PO bearing accounts.
 

If you do not know your account's PO bearing status, refer to GET Smarthands Locations under the API Reference section.

purchaseOrderTypeConditionalstringEXEMPTEDEXISTING,
EXEMPTED

Purchase order can be defined as new, existing, or exempted.

However, only existing and exempted purchase order types are currently being supported.

If 'EXISTING', the blanket purchase order is already known to Equinix and the purchase order number must be sent. Only numbers for blanket purchase orders will be accepted. If you do not have a valid blanket purchase order number, see 'EXEMPTED'.

If 'EXEMPTED', there are 2 scenarios where this option applies:-

1. A purchase order exemption form has already been submitted and approved, and a purchase order number is not required. No additional information or attachments are required.

2. A purchase order exemption request is made together with this order. A Purchase Order Exemption form should be attached to facilitate the exemption request.

This is mandatory for PO bearing accounts.
numberConditionalstring

Blanket purchase order number. This is free text input.

This field can only be up to 20 characters long.

If the blanket purchase order number submitted throws an error, select 'EXEMPTED' for purchase order type instead.

This is mandatory if purchase order type is 'EXISTING'.
attachmentConditionalobject

An object containing the attachment details of the Purchase Order Exemption Form.

Use the document below as a template for your Purchase Order Exemption Form.

Download Purchase Order Exemption Form Template.

The attachment, not exceeding 5MB, can be provided in the following formats: bmp, jpg, jpeg, gif, png, tif, tiff, txt, doc, docx, xls, xlsx, ppt, pps, ppsx, pdf, and vsd.
 

This should be included when purchase order type is 'EXEMPTED' and you are submitting a Purchase Order Exemption form.

 

Refer to POST Attachments File under the API Reference section for more information.

id

Conditionalstringabc1fd2e-345f-67g4-hi89-01jk234l5m6n

ID of the attachment. You will obtain this value after attaching your file using the attachment API.

This is mandatory when an attachment is included.
nameConditionalstringPurchaseOrderExemptionForm123.docx

Name of the attachment. You will obtain this value after attaching your file using the attachment API, but you may change the name for your own reference when including this attachment in any order request. This is free text input.

This is mandatory when an attachment is included.
contactsYesarray [objects] Contact information consists of the Ordering contact details, Technical contact details, and Notification contact details.
contactTypeYesstringORDERINGORDERING,
TECHNICAL,
NOTIFICATION

There are three types of contact persons: Ordering, Technical, and Notification. All three contacts are mandatory.

- Ordering contact person: Person who created the order. Only one Ordering contact can be passed.
- Technical contact person: Person who Equinix can reach out to for technical clarifications. Only one Technical contact can be passed.
- Notification contact person: Person who will be notified of status updates. At least one notification contact must be provided. If notification contact is not available to pass, use ordering contact as notification contact.
userNameYesstringjohndoe

Equinix-registered username of contact person whose user profile is active or locked.

For Ordering contact, Equinix-registered username of contact person must be active.

For Notification and Technical contacts, Equinix-registered username of contact person can be active or locked.

If the Technical contact does not have the required Equinix-registered username, their full name, email address, work phone, and work phone timezone calling preference must be provided. It is recommended to also include the work phone country code. Additional information such as mobile phone country code, mobile phone number, and their availability to take calls on their mobile phone may also be provided.

With the exception of the mandatory contact information required for the Technical contact, any other additional contact information passed together with a 'userName' for Ordering, Technical, and Notification contacts will be ignored.

For example, when 'email' and 'workPhone' are passed with 'userName' for Notification contact, these contact details will be ignored.
nameConditionalstringJane Smith

Full name of contact person. This is free text input.

This is mandatory when the Technical contact does not have an active or locked Equinix-registered username.
emailConditionalstringjanesmith@corporation.com

Email information of contact person. This is free text input.

This is mandatory when the Technical contact does not have an active or locked Equinix-registered username.
workPhoneCountryCodeNostring+44

Country code for work phone number of contact person. This is free text input.

Example: +571
 

It is recommended to include the work phone country code.

workPhoneConditionalstring0148211111

Work phone number of contact person. This is free text input.

This is mandatory when the Technical contact does not have an active or locked Equinix-registered username.
workPhonePrefToCallConditionalstringANYTIMENEVER,
ANYTIME,
MY_BUSINESS_HOURS,
IBX_BUSINESS_HOURS,
BUSINESS_HOURS

Availability of Technical contact person to take calls. This is mandatory for the Technical contact.

Call Preference - Description
NEVER - Does not take calls.
ANYTIME - Takes calls anytime.
MY_BUSINESS_HOURS - Takes calls only during their business days from 9am to 5pm in their specified time zone. The body parameter 'workPhoneTimeZone' is mandatory to pass when this option is selected.
IBX_BUSINESS_HOURS - Takes calls only during the business hours of the IBX. This would be in the IBX time zone from Mondays to Fridays, 9am to 5pm.

Deprecated values
BUSINESS_HOURS - This value will be removed in the near future.
workPhoneTimeZoneConditionalstringEurope/LondonClick here for applicable values.

This indicates the specific timezone of the Technical contact's business hours that follows the IANA time zone database names format.

This is mandatory when 'MY_BUSINESS_HOURS' is selected for 'workPhonePrefToCall'.
mobilePhoneCountryCodeNostring+1

Country code for mobile phone number of contact person. This is free text input.

Example: +571
mobilePhoneNostring0123456789
Mobile phone number of contact person. This is free text input.
mobilePhonePrefToCallNostringMY_BUSINESS_HOURSNEVER,
ANYTIME,
MY_BUSINESS_HOURS,
IBX_BUSINESS_HOURS,
BUSINESS_HOURS

Availability of Technical contact person to take calls on their mobile phone.

For description of applicable values, refer to description of body parameter 'workPhonePrefToCall'.
mobilePhoneTimeZoneConditionalstringEurope/LondonClick here for applicable values.

This indicates the specific timezone of the Technical contact's business hours that follows the IANA time zone database names format.

This should be included when 'MY_BUSINESS_HOURS' is selected for 'mobilePhonePrefToCall' and the mobile phone timezone differs from the work phone timezone.
If 'mobilePhoneTimeZone' is not included, it will be assumed that both the work phone and mobile phone timezones are the same.
{
"OrderNumber": "1-190986534844"
}

The description of the response payload is as follows:

Field nameTypeExampleDescription
OrderNumberstring1-190986534844The order number created after order is submitted.
 

If you get “Insufficient permissions” error, contact your Master Administrator.

Order patch cable removal

OrderPatchCableRemoval

Step 1: Authenticate

Submit your user credentials, Client ID, and Client Secret for OAuth2 authentication.

 

Refer to Generating Client ID and Client Secret under Getting Access Token section for instructions on how to create client ID and client secret and refer to Requesting Access and Refresh tokens for instructions on how to call Oauth API to validate and authenticate your credentials.

 

If you are unaware of your user credentials for Equinix Customer Portal, contact your local Equinix Service Desk. 

Step 2: Get Smart Hands Details

 

To get Smart Hands details, the user must have 'Smart Hands' permission. If you are unaware of your user permissions, contact your Master Administrator.

2a) Get Smart Hands Types
Retrieve all the Smart Hands categories supported by Equinix.

 

Refer to Get Smarthands Types under the API Reference section for instructions on how to get all Smart Hands types. You may skip this step if you already know the Smart Hands type.

2b) Get Location Information
Retrieve your IBX location information.

 

Use this API to get all available IBX locations, cages, and cabinets that the user has access to.

 

Refer to Get Smarthands Locations under the API Reference section for instructions on how to retrieve available IBX locations. You may skip this step if you already know the location information.

Step 3: Get Connection Details

 

To get the serial number of the connection, the user must have 'View Install Base' permission. If you are unaware of your user permissions, contact your Master Administrator.

Retrieve the serial number of the connection.

 

Use this API to determine the serial number of the cross connection for the patch cable removal.

 

Refer to How to retrieve assets? under the Getting Started for ECP use cases section for instructions on how to retirieve the cross connect serial number. You may skip this step if you already have the serial number.

If you cannot find the serial number of the cross connect, you should use "Serial # Not Found" as your serial number.

Step 4: Order Patch Cable Removal

 POST /smarthands/patchCableRemoval
MethodPOST
URL or End Point/v1/orders/smarthands/patchCableRemoval
HeadersAuthorization, Content-Type
Query ParametersNot applicable
BodyibxLocation {ibx, cages [{cage, cabinets[...], accountNumber}]}, serviceDetails {crossConnects [{serialNumber, deviceCabinet, deviceConnectorType, deviceDetails, devicePort, scopeOfWork, needSupportFromASubmarineCableStationEngineer}]}, attachments [{id, name}], schedule {scheduleType, requestedStartDate, requestedCompletionDate}, customerReferenceNumber, purchaseOrder {purchaseOrderType, number, attachment {id, name}}, contacts [{contactType, userName}, {contactType, name, email, workPhoneCountryCode, workPhone, workPhonePrefToCall, workPhoneTimeZone, mobilePhoneCountryCode, mobilePhone, mobilePhonePrefToCall}]

This method orders patch cable removal per customer specifications by an Equinix IBX Technician. This can only be done by a user with Smart Hands ordering permission. The authorization token and content-type are the only headers that are passed to this API and a response is received based on the values passed.

 

If you are unaware of how to obtain an authorization token, refer to Requesting Access and Refresh tokens under the Getting Access Token section.

The following screenshots show a sample curl request and JSON response for this method.

The request indicates two scenarios: a patch cable removal without additional information, attachments, or contacts; and a patch cable removal with additional information, attachments, and contacts.

The response indicates the order was successful and returned the order number.

Patch Cable Removal without additional information, attachments, or contacts

curl -X
POST "https://api.equinix.com/v1/orders/smarthands/patchCableRemoval"
-H "content-type: application/json"
-H "authorization: Bearer qwErtY8zyW1abcdefGHI"
-d '{
"ibxLocation": {
"ibx": "AM1",
"cages": [
{
"cage": "AM1:0J:00JD11",
"cabinets": [
"AM1:0J:00JD11:0001"
],
"accountNumber": "126854"
}
]
},
"serviceDetails": {
"crossConnects": [
{
"serialNumber": "123456789",
"deviceCabinet": "501",
"deviceConnectorType": "FC",
"deviceDetails": "Router1",
"devicePort": "1"
}
]
},
"schedule": {
"scheduleType": "SCHEDULED_MAINTENANCE",
"requestedStartDate": "2019-08-30T22:00:49.776Z",
"requestedCompletionDate": "2019-08-31T22:00:49.776Z"
},
"contacts": [
{
"contactType": "ORDERING",
"userName": "johndoe"
},
{
"contactType": "TECHNICAL",
"userName": "johndoe",
"workPhonePrefToCall": "ANYTIME"
},
{
"contactType": "NOTIFICATION",
"userName": "johndoe"
}
]
}'

Patch Cable Removal with additional information, attachments, and contacts

 

Before creating an order with attachment, call the POST Attachments File under the API Reference section.

curl -X
POST "https://api.equinix.com/v1/orders/smarthands/patchCableRemoval"
-H "content-type: application/json"
-H "authorization: Bearer qwErtY8zyW1abcdefGHI"
-d '{
"ibxLocation": {
"ibx": "AM1",
"cages": [
{
"cage": "AM1:0J:00JD11",
"cabinets": [
"AM1:0J:00JD11:0001"
],
"accountNumber": "126854"
}
]
},
"serviceDetails": {
"crossConnects": [
{
"serialNumber": "123456789",
"deviceCabinet": "501",
"deviceConnectorType": "FC",
"deviceDetails": "Router1",
"devicePort": "1",
"removePatchCableWithLiveTraffic": true,
"scopeOfWork": "Refer to attachment for further instruction.",
"needSupportFromASubmarineCableStationEngineer": true
}
]
},
"attachments": [
{
"id": "fcb4a673-6308-456e-8f83-f745501d60ba",
"name": "PatchCabelRemovalInstruction.docx"
}
],
"schedule": {
"scheduleType": "SCHEDULED_MAINTENANCE",
"requestedStartDate": "2019-08-30T22:00:49.776Z",
"requestedCompletionDate": "2019-08-31T22:00:49.776Z"
},
"customerReferenceNumber": "EQX-PO2019-08-001",
"purchaseOrder": {
"purchaseOrderType": "EXEMPTED",
"attachment": {
"id": "abc1fd2e-345f-67g4-hi89-01jk234l5m6n",
"name": "PurchaseOrderExemptionForm123.docx"
}
},
"contacts": [
{
"contactType": "ORDERING",
"userName": "johndoe"
},
{
"contactType": "TECHNICAL",
"name": "Jane Smith",
"email": "janesmith@corporation.com",
"workPhoneCountryCode": "+44",
"workPhone": "0148211111",
"workPhonePrefToCall": "MY_BUSINESS_HOURS",
"workPhoneTimeZone": "Europe/London",
"mobilePhoneCountryCode": "+44",
"mobilePhone": "0123456789",
"mobilePhonePrefToCall": "MY_BUSINESS_HOURS",
"mobilePhoneTimeZone": "Europe/London"
},
{
"contactType": "NOTIFICATION",
"userName": "johndoe"
},
{
"contactType": "NOTIFICATION",
"userName": "jillsnow"
}
]
}'

The description of the body parameters is as follows:

 

When 'Conditional' is indicated for a Body Parameter, refer to Description for further details.

Body Parameter NameMandatoryTypeExampleApplicable ValuesDescription
ibxLocationYesobject IBX location information consists of the cages information and IBX.
ibxYesstringAM1

The IBX location code.

For example, AM1 is an IBX data centre in Amsterdam, Netherlands.
cagesYesarray [objects]

Cages information consists of ID of cage, ID of cabinet, and cage account number.

 

Only 1 cage per order is currently being supported. Provide information for only 1 cage.

cageYesstringAM1:0J:00JD11 ID of the cage.
cabinetsYesarray [strings]AM1:0J:00JD11:0001

ID of the cabinet.

 

Only 1 cabinet per order is currently being supported. Provide information for only 1 cabinet.

accountNumberYesstring126854 The customer account number that is linked to the cage.
serviceDetailsYesobject Service details consists of cross connections information.
crossConnectsYesarray [objects] Cross connections information consisting of the cross connection details due for patch cable removal.
serialNumberYesstring123456789Serial # Not Found

The serial number of the cross connect for the desired patch cable removal.

 

If you are unsure of the serial number of the cross connection, refer to How to retrieve assets? under the Getting Started for ECP use cases section for instructions on how to retrieve the serial number.

If you cannot find the serial number of the cross connect, you should use "Serial # Not Found" as your serial number.

deviceCabinetYesstring501

Cabinet where the device for patch cable removal is located. This is free text input

 

In Smart Hands Patch Cable Installation or Removal, the cabinet number, which can be derived from the cabinet ID, can be passed as the 'deviceCabinet' value. ID of the cabinet consists of {cage ID}:{cabinet number}.

 

Refer to GET Smarthands Locations under the API Reference section for instructions on how to retrieve the cabinet number of your preferred device cabinet.

deviceConnectorTypeYesstringFCThe connector type for the patch cable. This is free text input.
deviceDetailsYesstringRouter1The details of the device. This is free text input.
devicePortYesstring1 The port number to remove the patch cable. This is free text input.
removePatchCableWithLiveTrafficNobooleantruetrue,
false

Request to proceed with removal even if live traffic is detected.

Disclaimer: Equinix will complete the requested removal based on your instructions and will not be responsible for any service outages resulting from this removal.

If 'true', cross connect asset will be removed regardless of live traffic. By selecting this option, you agree to the terms for removal with live traffic.

If this request is not required, do not include this parameter.

Default value: false
scopeOfWorkNostringRefer to attachment for further instruction.

A detailed description of the scope of work. This is free text input.

This field can only be up to 4000 characters long.
needSupportFromASubmarineCableStationEngineerConditionalbooleantruetrue,
false

Requirement for submarine cable station engineer support.

This is mandatory for customers with Monet accounts.

If 'true', submarine cable station engineer support is required.

If 'false', submarine cable station engineer support is not required.

Default value: false
attachmentsNoarray [objects]

An array containing the attachment details.

Up to 5 attachments, each not exceeding 5MB, can be provided in the following formats: bmp, jpg, jpeg, gif, png, tif, tiff, txt, doc, docx, xls, xlsx, ppt, pps, ppsx, pdf, and vsd.

In this case, it is for any supporting photos or documentation that may help the request.
 

Refer to POST Attachments File under the API Reference section for more information.

idConditionalstringfcb2k8763-2947-456e- 8d68-f280753d60ba

ID of the attachment. You will obtain this value after attaching your file using the attachment API.

This is mandatory when an attachment is included.
nameConditionalstringPatchCabelRemovalInstruction.docx

Name of the attachment. You will obtain this value after attaching your file using the attachment API, but you may change the name for your own reference when including this attachment in any order request. This is free text input.

This is mandatory when an attachment is included.
scheduleYesobject Schedule information that includes schedule type, and the starting and ending dates and times for the schedule.
scheduleTypeYesstringSCHEDULED_MAINTENANCESTANDARD,
EXPEDITED,
SCHEDULED_MAINTENANCE

Define your preferred scheduling type.

Schedule Types

STANDARD: Request will be processed in the standard turnaround time. Most requests are completed within 24 to 72 hours pending your install base readiness. Requests will be processed in the order they were received, unless they are expedited.
- Parameters 'requestedStartDate' and 'requestedCompletionDate' are not required.

EXPEDITED: Request will be completed within the next 2 to 24 hours. Additional Smart Hands fees may apply. Schedule a time in the current local time of the IBX you selected. Equinix will contact customer for schedule negotiation if preferred scheduling cannot be met.
- Parameter 'requestedCompletionDate' is required.

SCHEDULED_MAINTENANCE: Request will be scheduled as Customer Requested Maintenance. Additional Smart Hands fees may apply if your scheduled time is less than 24 hours from when the order is submitted. Equinix will contact customer for schedule negotiation if preferred scheduling cannot be met.
- Parameters 'requestedStartDate' and 'requestedCompletionDate' are required.
requestedStartDateConditionalstring2019-08-30T22:00:49.776Z

Requested start date and time.

If 'STANDARD' or 'EXPEDITED' schedule type, this parameter is not required.

If 'SCHEDULED_MAINTENANCE' schedule type, provide a date and time (UTC timezone) in one of the following ISO 8601 formats:

yyyy-MM-dd'T'HH:mm:ssZ,
yyyy-MM-dd'T'HH:mm:ss.SSSZ.
requestedCompletionDateConditionalstring2019-08-31T22:00:49.776Z

Requested end date and time.

If 'STANDARD' schedule type, this parameter is not required.

If 'EXPEDITED' or 'SCHEDULED_MAINTENANCE' schedule type, provide a date and time (UTC timezone) in one of the following ISO 8601 formats:

yyyy-MM-dd'T'HH:mm:ssZ,
yyyy-MM-dd'T'HH:mm:ss.SSSZ.

Expedited scheduling date should not be less than IBX local time + 2 hours, and no more than IBX local time + 24 hours.

Scheduled maintenance scheduling should not be less than 24 hours from when the order is submitted. Otherwise, additional Smart Hands fees may apply.
customerReferenceNumberNostringEQX-PO2019-08-001

Customer reference information for this order. This is free text input.

This can be a Purchase Order number or an internal code. This information can be searched for in Order History and will appear within Reports.

This field can only be up to 50 characters long.
purchaseOrderConditionalobject

Purchase order (PO) information details.

This is mandatory for PO bearing accounts.
 

If you do not know your account's PO bearing status, refer to GET Smarthands Locations under the API Reference section.

purchaseOrderTypeConditionalstringEXEMPTEDEXISTING,
EXEMPTED

Purchase order can be defined as new, existing, or exempted.

However, only existing and exempted purchase order types are currently being supported.

If 'EXISTING', the blanket purchase order is already known to Equinix and the purchase order number must be sent. Only numbers for blanket purchase orders will be accepted. If you do not have a valid blanket purchase order number, see 'EXEMPTED'.

If 'EXEMPTED', there are 2 scenarios where this option applies:-

1. A purchase order exemption form has already been submitted and approved, and a purchase order number is not required. No additional information or attachments are required.

2. A purchase order exemption request is made together with this order. A Purchase Order Exemption form should be attached to facilitate the exemption request.

This is mandatory for PO bearing accounts.
numberConditionalstring

Blanket purchase order number. This is free text input.

This field can only be up to 20 characters long.

If the blanket purchase order number submitted throws an error, select 'EXEMPTED' for purchase order type instead.

This is mandatory if purchase order type is 'EXISTING'.
attachmentConditionalobject

An object containing the attachment details of the Purchase Order Exemption Form.

Use the document below as a template for your Purchase Order Exemption Form.

Download Purchase Order Exemption Form Template.

The attachment, not exceeding 5MB, can be provided in the following formats: bmp, jpg, jpeg, gif, png, tif, tiff, txt, doc, docx, xls, xlsx, ppt, pps, ppsx, pdf, and vsd.
 

This should be included when purchase order type is 'EXEMPTED' and you are submitting a Purchase Order Exemption form.

 

Refer to POST Attachments File under the API Reference section for more information.

id

Conditionalstringabc1fd2e-345f-67g4-hi89-01jk234l5m6n

ID of the attachment. You will obtain this value after attaching your file using the attachment API.

This is mandatory when an attachment is included.
nameConditionalstringPurchaseOrderExemptionForm123.docx

Name of the attachment. You will obtain this value after attaching your file using the attachment API, but you may change the name for your own reference when including this attachment in any order request. This is free text input.

This is mandatory when an attachment is included.
contactsYesarray [objects] Contact information consists of the Ordering contact details, Technical contact details, and Notification contact details.
contactTypeYesstringORDERINGORDERING,
TECHNICAL,
NOTIFICATION

There are three types of contact persons: Ordering, Technical, and Notification. All three contacts are mandatory.

- Ordering contact person: Person who created the order. Only one Ordering contact can be passed.
- Technical contact person: Person who Equinix can reach out to for technical clarifications. Only one Technical contact can be passed.
- Notification contact person: Person who will be notified of status updates. At least one notification contact must be provided. If notification contact is not available to pass, use ordering contact as notification contact.
userNameYesstringjohndoe

Equinix-registered username of contact person whose user profile is active or locked.

For Ordering contact, Equinix-registered username of contact person must be active.

For Notification and Technical contacts, Equinix-registered username of contact person can be active or locked.

If the Technical contact does not have the required Equinix-registered username, their full name, email address, work phone, and work phone timezone calling preference must be provided. It is recommended to also include the work phone country code. Additional information such as mobile phone country code, mobile phone number, and their availability to take calls on their mobile phone may also be provided.

With the exception of the mandatory contact information required for the Technical contact, any other additional contact information passed together with a 'userName' for Ordering, Technical, and Notification contacts will be ignored.

For example, when 'email' and 'workPhone' are passed with 'userName' for Notification contact, these contact details will be ignored.
nameConditionalstringJane Smith

Full name of contact person. This is free text input.

This is mandatory when the Technical contact does not have an active or locked Equinix-registered username.
emailConditionalstringjanesmith@corporation.com

Email information of contact person. This is free text input.

This is mandatory when the Technical contact does not have an active or locked Equinix-registered username.
workPhoneCountryCodeNostring+44

Country code for work phone number of contact person. This is free text input.

Example: +571
 

It is recommended to include the work phone country code.

workPhoneConditionalstring0148211111

Work phone number of contact person. This is free text input.

This is mandatory when the Technical contact does not have an active or locked Equinix-registered username.
workPhonePrefToCallYesstringANYTIMENEVER,
ANYTIME,
MY_BUSINESS_HOURS,
IBX_BUSINESS_HOURS,
BUSINESS_HOURS

Availability of Technical contact person to take calls. This is mandatory for the Technical contact.

Call Preference - Description
NEVER - Does not take calls.
ANYTIME - Takes calls anytime.
MY_BUSINESS_HOURS - Takes calls only during their business days from 9am to 5pm in their specified time zone. The body parameter 'workPhoneTimeZone' is mandatory to pass when this option is selected.
IBX_BUSINESS_HOURS - Takes calls only during the business hours of the IBX. This would be in the IBX time zone from Mondays to Fridays, 9am to 5pm.

Deprecated values
BUSINESS_HOURS - This value will be removed in the near future.
workPhoneTimeZoneConditionalstringEurope/LondonClick here for applicable values.

This indicates the specific timezone of the Technical contact's business hours that follows the IANA time zone database names format.

This is mandatory when 'MY_BUSINESS_HOURS' is selected for 'workPhonePrefToCall'.
mobilePhoneCountryCodeNostring+1

Country code for mobile phone number of contact person. This is free text input.

Example: +571
mobilePhoneNostring0123456789
Mobile phone number of contact person. This is free text input.
mobilePhonePrefToCallNostringMY_BUSINESS_HOURSNEVER,
ANYTIME,
MY_BUSINESS_HOURS,
IBX_BUSINESS_HOURS,
BUSINESS_HOURS

Availability of Technical contact person to take calls on their mobile phone.

For description of applicable values, refer to description of body parameter 'workPhonePrefToCall'.
mobilePhoneTimeZoneConditionalstringEurope/LondonClick here for applicable values.

This indicates the specific timezone of the Technical contact's business hours that follows the IANA time zone database names format.

This should be included when 'MY_BUSINESS_HOURS' is selected for 'mobilePhonePrefToCall' and the mobile phone timezone differs from the work phone timezone.
If 'mobilePhoneTimeZone' is not included, it will be assumed that both the work phone and mobile phone timezones are the same.
{
"OrderNumber": "1-190986534844"
}

The description of the response payload is as follows:

Field nameTypeExampleDescription
OrderNumberstring1-190986534844The order number created after order is submitted.
 

If you get “Insufficient permissions” error, contact your Master Administrator.

Order photos or documentation of your cage

OrderPhotosOrDocumentationOfYourCage

Step 1: Authenticate

Submit your user credentials, Client ID, and Client Secret for OAuth2 authentication.

 

Refer to Generating Client ID and Client Secret under Getting Access Token section for instructions on how to create client ID and client secret and refer to Requesting Access and Refresh tokens for instructions on how to call Oauth API to validate and authenticate your credentials.

 

If you are unaware of your user credentials for Equinix Customer Portal, contact your local Equinix Service Desk. 

Step 2: Get Smart Hands Details

 

To get Smart Hands details, the user must have 'Smart Hands' permission. If you are unaware of your user permissions, contact your Master Administrator.

2a) Get Smart Hands Types
Retrieve all the Smart Hands categories supported by Equinix.

 

Refer to Get Smarthands Types under the API Reference section for instructions on how to get all Smart Hands types. You may skip this step if you already know the Smart Hands type.

2b) Get Location Information
Retrieve your IBX location information.

 

Use this API to get all available IBX locations, cages, and cabinets that the user has access to.

 

Refer to Get Smarthands Locations under the API Reference section for instructions on how to retrieve available IBX locations. You may skip this step if you already know the location information.

 POST /smarthands/picturesDocument
MethodPOST
URL or End Point/v1/orders/smarthands/picturesDocument
HeadersAuthorization, Content-Type
Query ParametersNot applicable
BodyibxLocation {ibx, cages [{cage, cabinets[...], accountNumber}]}, serviceDetails {documentOnly, cameraProvidedBy, specificDateAndTime, description, scopeOfWork, needSupportFromASubmarineCableStationEngineer}, attachments [{id, name}], schedule {scheduleType, requestedStartDate, requestedCompletionDate}, customerReferenceNumber, purchaseOrder {purchaseOrderType, number, attachment {id, name}}, contacts [{contactType, userName}, {contactType, name, email, workPhoneCountryCode, workPhone, workPhonePrefToCall, workPhoneTimeZone, mobilePhoneCountryCode, mobilePhone, mobilePhonePrefToCall}]

This method requests an IBX technician to provide cage-related pictures or documentation at cages where the user has Smart Hands ordering permission. The authorization token and content-type are the only headers that are passed to this API and a response is received based on the values passed.

 

If you are unaware of how to obtain an authorization token, refer to Requesting Access and Refresh tokens under the Getting Access Token section.

The following screenshots show a sample curl request and JSON response for this method.

The request indicates two scenarios: An order for cage-related photos without additional information, attachments, or contacts; and order for cage-related photos with additional information, attachments, and contacts.

The response indicates the order was successful and returned the order number.

Order cage-related photos without additional information, attachments, or contacts

curl -X
POST "https://api.equinix.com/v1/orders/smarthands/picturesDocument"
-H "content-type: application/json"
-H "authorization: Bearer qwErtY8zyW1abcdefGHI"
-d '{
"ibxLocation": {
"ibx": "AM1",
"cages": [
{
"cage": "AM1:0J:00JD11",
"accountNumber": "126854"
}
]
},
"serviceDetails": {
"documentOnly": false,
"cameraProvidedBy": "Equinix",
"specificDateAndTime": true,
"description": "Take a photo of the patch panel cable arrangement, to include all labels clearly.",
"scopeOfWork": "Indicate what camera was used, and provide the photos in print size 3.6 x 3.007 inches.",
},
"schedule": {
"scheduleType": "SCHEDULED_MAINTENANCE",
"requestedStartDate": "2019-08-30T22:00:49.776Z",
"requestedCompletionDate": "2019-08-31T22:00:49.776Z"
},
"purchaseOrder": {
"purchaseOrderType": "NEW",
"number": "1037503648"
},
"contacts": [
{
"contactType": "ORDERING",
"userName": "johndoe"
},
{
"contactType": "TECHNICAL",
"userName": "johndoe",
"workPhonePrefToCall": "ANYTIME"
},
{
"contactType": "NOTIFICATION",
"userName": "johndoe"
}
]
}'

Order cage-related pictures with additional information, attachments, and contacts

 

Before creating an order with attachment, call the POST Attachments File under the API Reference section.

curl -X
POST "https://api.equinix.com/v1/orders/smarthands/picturesDocument"
-H "content-type: application/json"
-H "authorization: Bearer qwErtY8zyW1abcdefGHI"
-d '{
"ibxLocation": {
"ibx": "AM1",
"cages": [
{
"cage": "AM1:0J:00JD11",
"cabinets": [
"AM1:0J:00JD11:0001"
],
"accountNumber": "126854"
}
]
},
"serviceDetails": {
"documentOnly": false,
"cameraProvidedBy": "Equinix",
"specificDateAndTime": true,
"description": "Take a photo of the patch panel cable arrangement, to include all labels clearly.",
"scopeOfWork": "Indicate what camera was used, and provide the photos in print size 3.6 x 3.007 inches.",
"needSupportFromASubmarineCableStationEngineer": true
},
"attachments": [
{
"id": "fcb2k8763-2947-456e-8d68-f280753d60ba",
"name": "SupportingPhotos.docx"
}
],
"schedule": {
"scheduleType": "SCHEDULED_MAINTENANCE",
"requestedStartDate": "2019-08-30T22:00:49.776Z",
"requestedCompletionDate": "2019-08-31T22:00:49.776Z"
},
"customerReferenceNumber": "EQX-PO2019-08-001",
"purchaseOrder": {
"purchaseOrderType": "EXEMPTED",
"attachment": {
"id": "abc1fd2e-345f-67g4-hi89-01jk234l5m6n",
"name": "PurchaseOrderExemptionForm123.docx"
}
},
"contacts": [
{
"contactType": "ORDERING",
"userName": "johndoe"
},
{
"contactType": "TECHNICAL",
"name": "Jane Smith",
"email": "janesmith@corporation.com",
"workPhoneCountryCode": "+44",
"workPhone": "0148211111",
"workPhonePrefToCall": "MY_BUSINESS_HOURS",
"workPhoneTimeZone": "Europe/London",
"mobilePhoneCountryCode": "+44",
"mobilePhone": "0123456789",
"mobilePhonePrefToCall": "MY_BUSINESS_HOURS",
"mobilePhoneTimeZone": "Europe/London"
},
{
"contactType": "NOTIFICATION",
"userName": "johndoe"
},
{
"contactType": "NOTIFICATION",
"userName": "jillsnow"
}
]
}'

The description of the body parameters is as follows:

 

When 'Conditional' is indicated for a Body Parameter, refer to Description for further details.

Body Parameter NameMandatoryTypeExampleApplicable ValuesDescription
ibxLocationYesobject IBX location information consists of the cages information and IBX.
ibxYesstringAM1

The IBX location code.

For example, AM1 is an IBX data centre in Amsterdam, Netherlands.
cagesYesarray [objects]

Cages information consists of ID of cage, ID of cabinet, and cage account number.

 

Only 1 cage per order is currently being supported. Provide information for only 1 cage.

cageYesstringAM1:0J:00JD11 ID of the cage.
cabinetsNoarray [strings]AM1:0J:00JD11:0001

ID of the cabinet.

 

If providing cabinet, provide only 1 cabinet ID. Only 1 cabinet is currently being supported per cage.

accountNumberYesstring126854 The customer account number that is linked to the cage.
serviceDetailsYesobject Service details consist of scope of work.
documentOnlyYesbooleanfalsetrue,
false

Defines if cage-related photos or documentation is required.

If 'true', only documentation is required, and the only other mandatory field to pass is "scopeOfWork". Indicate the nature of the desired documentation in "scopeOfWork".

If 'false', photos are required, and the other mandatory fields to pass are: "cameraProvidedBy", "specificDateAndTime", "description", and "scopeOfWork".
cameraProvidedBy ConditionalstringEquinixEquinix,
Customer

Indicates who would be providing the camera to take pictures with.

Camera Provided By - Description

Equinix - Equinix's camera will be used.

Customer - Customer's camera will be used.

This is mandatory when "documentOnly" is 'false'.
specificDateAndTimeConditionalbooleantruetrue,
false

Indicates if a specific date and time are required to carry out this task.

If 'true', the task must be carried out in a specific timeframe, and only 'SCHEDULED_MAINTENANCE' can be passed for the parameter, "scheduleType".

If 'false', the timeframe for this task is flexible, and all 3 schedule types can be passed for the parameter, "scheduleType".

This is mandatory when "documentOnly" is 'false'.
descriptionConditionalstringTake a photo of the patch panel cable arrangement, to include all labels clearly.

Description of the photo that customer would like to include. This is free text.

This is mandatory when "documentOnly" is 'false'.
scopeOfWorkYesstringIndicate what camera was used, and provide the photos in print size 3.6 x 3.007 inches.

A detailed description of the scope of work. This is free text.

This field can only be up to 4000 characters long.
needSupportFromASubmarineCableStationEngineerConditionalbooleantruetrue,
false

Requirement for submarine cable station engineer support.

This is mandatory for customers with Monet accounts.

If 'true', submarine cable station engineer support is required.

If 'false', submarine cable station engineer support is not required.

Default value: false
attachmentsNoarray [objects]

An array containing the attachment details.

Up to 5 attachments, each not exceeding 5MB, can be provided in the following formats: bmp, jpg, jpeg, gif, png, tif, tiff, txt, doc, docx, xls, xlsx, ppt, pps, ppsx, pdf, and vsd.

In this case, it is for any supporting photos or documentation that may help the request.
 

Refer to POST Attachments File under the API Reference section for more information.

idConditionalstringfcb2k8763-2947-456e- 8d68-f280753d60ba

ID of the attachment. You will obtain this value after attaching your file using the attachment API.

This is mandatory when an attachment is included.
nameConditionalstringSupportingPhotos.docx

Name of the attachment. You will obtain this value after attaching your file using the attachment API, but you may change the name for your own reference when including this attachment in any order request. This is free text input.

This is mandatory when an attachment is included.
scheduleYesobject Schedule information that includes schedule type, and the starting and ending dates and times for the schedule.
scheduleTypeYesstringSCHEDULED_MAINTENANCESTANDARD,
EXPEDITED,
SCHEDULED_MAINTENANCE

Define your preferred scheduling type.

Schedule Types

STANDARD: Request will be processed in the standard turnaround time. Most requests are completed within 24 to 72 hours pending your install base readiness. Requests will be processed in the order they were received, unless they are expedited.
- Parameters 'requestedStartDate' and 'requestedCompletionDate' are not required.

EXPEDITED: Request will be completed within the next 2 to 24 hours. Additional Smart Hands fees may apply. Schedule a time in the current local time of the IBX you selected. Equinix will contact customer for schedule negotiation if preferred scheduling cannot be met.
- Parameter 'requestedCompletionDate' is required.

SCHEDULED_MAINTENANCE: Request will be scheduled as Customer Requested Maintenance. Additional Smart Hands fees may apply if your scheduled time is less than 24 hours from when the order is submitted. Equinix will contact customer for schedule negotiation if preferred scheduling cannot be met.
- Parameters 'requestedStartDate' and 'requestedCompletionDate' are required.
requestedStartDateConditionalstring2019-08-30T22:00:49.776Z

Requested start date and time.

If 'STANDARD' or 'EXPEDITED' schedule type, this parameter is not required.

If 'SCHEDULED_MAINTENANCE' schedule type, provide a date and time (UTC timezone) in one of the following ISO 8601 formats:

yyyy-MM-dd'T'HH:mm:ssZ,
yyyy-MM-dd'T'HH:mm:ss.SSSZ.
requestedCompletionDateConditionalstring2019-08-31T22:00:49.776Z

Requested end date and time.

If 'STANDARD' schedule type, this parameter is not required.

If 'EXPEDITED' or 'SCHEDULED_MAINTENANCE' schedule type, provide a date and time (UTC timezone) in one of the following ISO 8601 formats:

yyyy-MM-dd'T'HH:mm:ssZ,
yyyy-MM-dd'T'HH:mm:ss.SSSZ.

Expedited scheduling date should not be less than IBX local time + 2 hours, and no more than IBX local time + 24 hours.

Scheduled maintenance scheduling should not be less than 24 hours from when the order is submitted. Otherwise, additional Smart Hands fees may apply.
customerReferenceNumberNostringEQX-PO2019-08-001

Customer reference information for this order. This is free text.

This can be a Purchase Order number or an internal code. This information can be searched for in Order History and will appear within Reports.

This field can only be up to 50 characters long.
purchaseOrderYesobject

Purchase order (PO) information details.

This is mandatory for PO bearing accounts.
 

If you do not know your account's PO bearing status, refer to GET Smarthands Locations under the API Reference section.

purchaseOrderTypeYesstringEXEMPTEDEXISTING,
EXEMPTED

Purchase order can be defined as new, existing, or exempted.

However, only existing and exempted purchase order types are currently being supported.

If 'EXISTING', the blanket purchase order is already known to Equinix and the purchase order number must be sent. Only numbers for blanket purchase orders will be accepted. If you do not have a valid blanket purchase order number, see 'EXEMPTED'.

If 'EXEMPTED', there are 2 scenarios where this option applies:-

1. A purchase order exemption form has already been submitted and approved, and a purchase order number is not required. No additional information or attachments are required.

2. A purchase order exemption request is made together with this order. A Purchase Order Exemption form should be attached to facilitate the exemption request.

This is mandatory for PO bearing accounts.
numberConditionalstring

Blanket purchase order number. This is free text input.

This field can only be up to 20 characters long.

If the blanket purchase order number submitted throws an error, select 'EXEMPTED' for purchase order type instead.

This is mandatory if purchase order type is 'EXISTING'.
attachmentConditionalobject

An object containing the attachment details of the Purchase Order Exemption Form.

Use the document below as a template for your Purchase Order Exemption Form.

Download Purchase Order Exemption Form Template.

The attachment, not exceeding 5MB, can be provided in the following formats: bmp, jpg, jpeg, gif, png, tif, tiff, txt, doc, docx, xls, xlsx, ppt, pps, ppsx, pdf, and vsd.
 

This should be included when purchase order type is 'EXEMPTED' and you are submitting a Purchase Order Exemption form.

 

Refer to POST Attachments File under the API Reference section for more information.

idConditionalstringabc1fd2e-345f-67g4-hi89-01jk234l5m6n

ID of the attachment. You will obtain this value after attaching your file using the attachment API.

This is mandatory when an attachment is included.
nameConditionalstringPurchaseOrderExemptionForm123.docx

Name of the attachment. You will obtain this value after attaching your file using the attachment API, but you may change the name for your own reference when including this attachment in any order request. This is free text input.

This is mandatory when an attachment is included.
contactsYesarray [objects] Contact information consists of the Ordering contact details, Technical contact details, and Notification contact details.
contactTypeYesstringORDERINGORDERING,
TECHNICAL,
NOTIFICATION

There are three types of contact persons: Ordering, Technical, and Notification. All three contacts are mandatory.

- Ordering contact person: Person who created the order. Only one Ordering contact can be passed.
- Technical contact person: Person who Equinix can reach out to for technical clarifications. Only one Technical contact can be passed.
- Notification contact person: Person who will be notified of status updates. At least one notification contact must be provided. If notification contact is not available to pass, use ordering contact as notification contact.
userNameYesstringjohndoe

Equinix-registered username of contact person whose user profile is active or locked.

For Ordering contact, Equinix-registered username of contact person must be active.

For Notification and Technical contacts, Equinix-registered username of contact person can be active or locked.

If the Technical contact does not have the required Equinix-registered username, their full name, email address, work phone, and work phone timezone calling preference must be provided. It is recommended to also include the work phone country code. Additional information such as mobile phone country code, mobile phone number, and their availability to take calls on their mobile phone may also be provided.

With the exception of the mandatory contact information required for the Technical contact, any other additional contact information passed together with a 'userName' for Ordering, Technical, and Notification contacts will be ignored.

For example, when 'email' and 'workPhone' are passed with 'userName' for Notification contact, these contact details will be ignored.
nameConditionalstringJane Smith

Full name of contact person. This is free text input.

This is mandatory when the Technical contact does not have an active or locked Equinix-registered username.
emailConditionalstringjanesmith@corporation.com

Email information of contact person. This is free text input.

This is mandatory when the Technical contact does not have an active or locked Equinix-registered username.
workPhoneCountryCodeNostring+44

Country code for work phone number of contact person. This is free text input.

Example: +571
 

It is recommended to include the work phone country code.

workPhoneConditionalstring0148211111

Work phone number of contact person. This is free text input.

This is mandatory when the Technical contact does not have an active or locked Equinix-registered username.
workPhonePrefToCallYesstringANYTIMENEVER,
ANYTIME,
MY_BUSINESS_HOURS,
IBX_BUSINESS_HOURS,
BUSINESS_HOURS

Availability of Technical contact person to take calls. This is mandatory for the Technical contact.

Call Preference - Description
NEVER - Does not take calls.
ANYTIME - Takes calls anytime.
MY_BUSINESS_HOURS - Takes calls only during their business days from 9am to 5pm in their specified time zone. The body parameter 'workPhoneTimeZone' is mandatory to pass when this option is selected.
IBX_BUSINESS_HOURS - Takes calls only during the business hours of the IBX. This would be in the IBX time zone from Mondays to Fridays, 9am to 5pm.

Deprecated values
BUSINESS_HOURS - This value will be removed in the near future.
workPhoneTimeZoneConditionalstringEurope/LondonClick here for applicable values.

This indicates the specific timezone of the Technical contact's business hours that follows the IANA time zone database names format.

This is mandatory when 'MY_BUSINESS_HOURS' is selected for 'workPhonePrefToCall'.
mobilePhoneCountryCodeNostring+1

Country code for mobile phone number of contact person. This is free text input.

Example: +571
mobilePhoneNostring0123456789
Mobile phone number of contact person. This is free text input.
mobilePhonePrefToCallNostringMY_BUSINESS_HOURSNEVER,
ANYTIME,
MY_BUSINESS_HOURS,
IBX_BUSINESS_HOURS,
BUSINESS_HOURS

Availability of Technical contact person to take calls on their mobile phone.

For description of applicable values, refer to description of body parameter 'workPhonePrefToCall'.
mobilePhoneTimeZoneConditionalstringEurope/LondonClick here for applicable values.

This indicates the specific timezone of the Technical contact's business hours that follows the IANA time zone database names format.

This should be included when 'MY_BUSINESS_HOURS' is selected for 'mobilePhonePrefToCall' and the mobile phone timezone differs from the work phone timezone.
If 'mobilePhoneTimeZone' is not included, it will be assumed that both the work phone and mobile phone timezones are the same.
{
"OrderNumber": "1-2457908765329"
}

The description of the response payload is as follows:

Field nameTypeExampleDescription
OrderNumberstring1-2457908765329The order number created after order is submitted.
 

If you get “Insufficient permissions” error, contact your Master Administrator.

Order to move patch cables

OrderToMovePatchCables

Step 1: Authenticate

Submit your user credentials, Client ID, and Client Secret for OAuth2 authentication.

 

Refer to Generating Client ID and Client Secret under Getting Access Token section for instructions on how to create client ID and client secret and refer to Requesting Access and Refresh tokens for instructions on how to call Oauth API to validate and authenticate your credentials.

 

If you are unaware of your user credentials for Equinix Customer Portal, contact your local Equinix Service Desk. 

Step 2: Get Smart Hands Details

 

To get Smart Hands details, the user must have 'Smart Hands' permission. If you are unaware of your user permissions, contact your Master Administrator.

2a) Get Smart Hands Types
Retrieve all the Smart Hands categories supported by Equinix.

 

Refer to Get Smarthands Types under the API Reference section for instructions on how to get all Smart Hands types. You may skip this step if you already know the Smart Hands type.

2b) Get Location Information
Retrieve your IBX location information.

 

Use this API to get all available IBX locations, cages, and cabinets that the user has access to.

 

Refer to Get Smarthands Locations under the API Reference section for instructions on how to retrieve available IBX locations. You may skip this step if you already know the location information.

Step 3: Order Move Patch Cables

 POST /smarthands/moveJumperCable
MethodPOST
URL or End Point/v1/orders/smarthands/moveJumperCable
HeadersAuthorization, Content-Type
Query ParametersNot applicable
BodyibxLocation {ibx, cages [{cage, cabinets[...], accountNumber}]}, serviceDetails {quantity, cableId, currentDeviceDetails {name, slot, port}, newDeviceDetails {name, slot, port}, scopeOfWork, needSupportFromASubmarineCableStationEngineer}, attachments [{id, name}], schedule {scheduleType, requestedStartDate, requestedCompletionDate}, customerReferenceNumber, purchaseOrder {purchaseOrderType, number, attachment {id, name}}, contacts [{contactType, userName}, {contactType, name, email, workPhoneCountryCode, workPhone, workPhonePrefToCall, workPhoneTimeZone, mobilePhoneCountryCode, mobilePhone, mobilePhonePrefToCall}]

This method orders patch cables to be moved between devices by an Equinix IBX Technician. This can only be done by a user with Smart Hands ordering permission. The authorization token and content-type are the only headers that are passed to this API and a response is received based on the values passed.

 

If you are unaware of how to obtain an authorization token, refer to Requesting Access and Refresh tokens under the Getting Access Token section.

The following screenshots show a sample curl request and JSON response for this method.

The request indicates four scenarios:
(A) An order to move a patch cable without additional information, attachments, or contacts
(B) An order to move a patch cable with additional information, attachments, and contacts
(C) An order to move multiple patch cables with additional information, attachments, and contacts
(D) An order to move multiple patch cables with additional information, attachments, and contacts.

The response indicates the order was successful and returned the order number.

(A) Move a patch cable without additional information, attachments, or contacts

curl -X
POST "https://api.equinix.com/v1/orders/smarthands/moveJumperCable"
-H "content-type: application/json"
-H "authorization: Bearer qwErtY8zyW1abcdefGHI"
-d '{
"ibxLocation": {
"ibx": "AM1",
"cages": [
{
"cage": "AM1:0J:00JD11",
"accountNumber": "126854"
}
]
},
"serviceDetails": {
"quantity": "1",
"scopeOfWork": "Move cable from Server01 to Server 09, and ensure cable tag is easily seen at all times. Cable ID is 1-12345-67890. Any available slots or ports."
},
"schedule": {
"scheduleType": "SCHEDULED_MAINTENANCE",
"requestedStartDate": "2019-08-30T22:00:49.776Z",
"requestedCompletionDate": "2019-08-31T22:00:49.776Z"
},
"contacts": [
{
"contactType": "ORDERING",
"userName": "johndoe"
},
{
"contactType": "TECHNICAL",
"userName": "johndoe",
"workPhonePrefToCall": "ANYTIME"
},
{
"contactType": "NOTIFICATION",
"userName": "johndoe"
}
]
}'

(B) Move a patch cable with additional information, attachments, and contacts

 

Before creating an order with attachment, call the POST Attachments File under the API Reference section.

curl -X
POST "https://api.equinix.com/v1/orders/smarthands/moveJumperCable"
-H "content-type: application/json"
-H "authorization: Bearer qwErtY8zyW1abcdefGHI"
-d '{
"ibxLocation": {
"ibx": "AM1",
"cages": [
{
"cage": "AM1:0J:00JD11",
"accountNumber": "126854"
}
]
},
"serviceDetails": {
"quantity": "1",
"cableId": "1-12345-67890",
"currentDeviceDetails": {
"name": "NH-Server-01",
"slot": "50",
"port": "50"
},
"newDeviceDetails": {
"name": "NH-Server-09",
"slot": "Next Available",
"port": "Next Available"
},
"scopeOfWork": "Refer to attachment for cable details.",
"needSupportFromASubmarineCableStationEngineer": true
},
"attachments": [
{
"id": "fcb4a673-6308-456e-8f83-f745501d60ba",
"name": "MoveCablesInstructions.docx"
}
],
"schedule": {
"scheduleType": "SCHEDULED_MAINTENANCE",
"requestedStartDate": "2019-08-30T22:00:49.776Z",
"requestedCompletionDate": "2019-08-31T22:00:49.776Z"
},
"customerReferenceNumber": "EQX-PO2019-08-001",
"purchaseOrder": {
"purchaseOrderType": "EXEMPTED",
"attachment": {
"id": "abc1fd2e-345f-67g4-hi89-01jk234l5m6n",
"name": "PurchaseOrderExemptionForm123.docx"
}
},
"contacts": [
{
"contactType": "ORDERING",
"userName": "johndoe"
},
{
"contactType": "TECHNICAL",
"name": "Jane Smith",
"email": "janesmith@corporation.com",
"workPhoneCountryCode": "+44",
"workPhone": "0148211111",
"workPhonePrefToCall": "MY_BUSINESS_HOURS",
"workPhoneTimeZone": "Europe/London",
"mobilePhoneCountryCode": "+44",
"mobilePhone": "0123456789",
"mobilePhonePrefToCall": "MY_BUSINESS_HOURS",
"mobilePhoneTimeZone": "Europe/London"
},
{
"contactType": "NOTIFICATION",
"userName": "johndoe"
},
{
"contactType": "NOTIFICATION",
"userName": "jillsnow"
}
]
}'

(C) Move multiple patch cables without additional information, attachments, or contacts

curl -X
POST "https://api.equinix.com/v1/orders/smarthands/moveJumperCable"
-H "content-type: application/json"
-H "authorization: Bearer qwErtY8zyW1abcdefGHI"
-d '{
"ibxLocation": {
"ibx": "AM1",
"cages": [
{
"cage": "AM1:0J:00JD11",
"cabinets": [
"AM1:0J:00JD11:0001"
],
"accountNumber": "126854"
}
]
},
"serviceDetails": {
"quantity": "12+",
"scopeOfWork": "Move all cables from Server01 to Server 09, and ensure cable tag is easily seen at all times. Any available slots or ports"
},
"schedule": {
"scheduleType": "SCHEDULED_MAINTENANCE",
"requestedStartDate": "2019-08-30T22:00:49.776Z",
"requestedCompletionDate": "2019-08-31T22:00:49.776Z"
},
"contacts": [
{
"contactType": "ORDERING",
"userName": "johndoe"
},
{
"contactType": "TECHNICAL",
"userName": "johndoe",
"workPhonePrefToCall": "ANYTIME"
},
{
"contactType": "NOTIFICATION",
"userName": "johndoe"
}
]
}'

(D) Move multiple patch cables with additional information, attachments, and contacts

 

Before creating an order with attachment, call the POST Attachments File under the API Reference section.

curl -X
POST "https://api.equinix.com/v1/orders/smarthands/moveJumperCable"
-H "content-type: application/json"
-H "authorization: Bearer qwErtY8zyW1abcdefGHI"
-d '{
"ibxLocation": {
"ibx": "AM1",
"cages": [
{
"cage": "AM1:0J:00JD11",
"cabinets": [
"AM1:0J:00JD11:0001"
],
"accountNumber": "126854"
}
]
},
"serviceDetails": {
"quantity": "12+",
"scopeOfWork": "Refer to attachment for cable details.",
"needSupportFromASubmarineCableStationEngineer": true
},
"attachments": [
{
"id": "fcb4a673-6308-456e-8f83-f745501d60ba",
"name": "MoveCablesInstructions.docx"
}
],
"schedule": {
"scheduleType": "SCHEDULED_MAINTENANCE",
"requestedStartDate": "2019-08-30T22:00:49.776Z",
"requestedCompletionDate": "2019-08-31T22:00:49.776Z"
},
"customerReferenceNumber": "EQX-PO2019-08-001",
"purchaseOrder": {
"purchaseOrderType": "EXEMPTED",
"attachment": {
"id": "abc1fd2e-345f-67g4-hi89-01jk234l5m6n",
"name": "PurchaseOrderExemptionForm123.docx"
}
},
"contacts": [
{
"contactType": "ORDERING",
"userName": "johndoe"
},
{
"contactType": "TECHNICAL",
"name": "Jane Smith",
"email": "janesmith@corporation.com",
"workPhoneCountryCode": "+44",
"workPhone": "0148211111",
"workPhonePrefToCall": "MY_BUSINESS_HOURS",
"workPhoneTimeZone": "Europe/London",
"mobilePhoneCountryCode": "+44",
"mobilePhone": "0123456789",
"mobilePhonePrefToCall": "MY_BUSINESS_HOURS",
"mobilePhoneTimeZone": "Europe/London"
},
{
"contactType": "NOTIFICATION",
"userName": "johndoe"
},
{
"contactType": "NOTIFICATION",
"userName": "jillsnow"
}
]
}'

The description of the body parameters is as follows:

 

When 'Conditional' is indicated for a Body Parameter, refer to Description for further details.

Body Parameter NameMandatoryTypeExampleApplicable ValuesDescription
ibxLocationYesobject IBX location information consists of the cages information and IBX.
ibxYesstringAM1

The IBX location code.

For example, AM1 is an IBX data centre in Amsterdam, Netherlands.
cagesYesarray [objects]

Cages information consists of ID of cage, ID of cabinet, and cage account number.

 

Only 1 cage per order is currently being supported. Provide information for only 1 cage.

cageYesstringAM1:0J:00JD11 ID of the cage.
cabinetsNoarray [strings]AM1:0J:00JD11:0001

ID of the cabinet.

 

If providing cabinet, provide only 1 cabinet ID. Only 1 cabinet is currently being supported per cage.

accountNumberYesstring126854 The customer account number that is linked to the cage.
serviceDetailsYesobject Service details consists of cross connections information.
quantityYesstring11,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
12+

The total number of jumper cables to be moved.

You may choose to include the cable and device specifications in the following ways ;-
a) as cableId, newDeviceDetails, and currentDeviceDetails fields (This is recommended when quantity is '1'.)
b) in the scopeOfWork information, or
c) in an attachment.

 

If there are multiple cables being moved, it is recommended to provide the following details in the scopeOfWork information, or in an attachment (if the specifications exceeds the scopeOfWork field) for each cable:
1. Cable ID (if applicable)
2. Current Device : Name, Slot, and Port.
3. New Device: Name, Slot, and Port.

cableIdNostring1-12345-67890

The cable ID number. This is free text input.

This is recommended when quantity is '1'.
currentDeviceDetailsNoobject

The details of the current device where the cable is connected.

This is recommended when quantity is '1'.
nameNostringNH-Server-01

The name of the current device. This is free text input.

This is recommended when quantity is '1'.

This field can only be up to 200 characters long.
slotNostring50

The slot in the current device where the cable is connected. This is free text input.

This is recommended when quantity is '1'.

This field can only be up to 50 characters long.
portNostring50

The port in the current device where the cable is connected. This is free text input.

This is recommended when quantity is '1'.

This field can only be up to 50 characters long.
newDeviceDetailsNoobject

The details of the new device to connect the cable to.

This is recommended when quantity is '1'.
nameNostringNH-Server-09

The name of the new device. This is free text input.

This is recommended when quantity is '1'.

This field can only be up to 200 characters long.
slotNostringNext Available

The slot in the new device where the cable should be connected. This is free text input.

This is recommended when quantity is '1'.

This field can only be up to 50 characters long.
portNostringNext Available

The port in the new device where the cable should be connected. This is free text input.

This is recommended when quantity is '1'.

This field can only be up to 50 characters long.
scopeOfWorkYesstring

Move cable(s) from Server01 to Server 09, and ensure cable tag is easily seen at all times. Cable ID is 1-12345-67890. Any available slots or ports ,

Refer to attachment for cable details ,

Move all cables from Server01 to Server 09, and ensure cable tag is easily seen at all times. Any available slots or ports

A detailed description of the scope of work. This is free text input.

 

If there are multiple cables being moved, it is recommended to provide the following details here, or in an attachment (if the specifications exceeds the character limit) for each cable:
1. Cable ID (if applicable)
2. Current Device : Name, Slot, and Port.
3. New Device: Name, Slot, and Port.

This field can only be up to 4000 characters long.

needSupportFromASubmarineCableStationEngineerConditionalbooleantruetrue,
false

Requirement for submarine cable station engineer support.

This is mandatory for customers with Monet accounts.

If 'true', submarine cable station engineer support is required.

If 'false', submarine cable station engineer support is not required.

Default value: false
attachmentsNoarray [objects]

An array containing the attachment details.

Up to 5 attachments, each not exceeding 5MB, can be provided in the following formats: bmp, jpg, jpeg, gif, png, tif, tiff, txt, doc, docx, xls, xlsx, ppt, pps, ppsx, pdf, and vsd.

In this case, it is for any supporting photos or documentation that may help the request.
 

Refer to POST Attachments File under the API Reference section for more information.

idConditionalstringfcb2k8763-2947-456e- 8d68-f280753d60ba

ID of the attachment. You will obtain this value after attaching your file using the attachment API.

This is mandatory when an attachment is included.
nameConditionalstringMoveCablesInstructions.docx

Name of the attachment. You will obtain this value after attaching your file using the attachment API, but you may change the name for your own reference when including this attachment in any order request. This is free text input.

This is mandatory when an attachment is included.
scheduleYesobject Schedule information that includes schedule type, and the starting and ending dates and times for the schedule.
scheduleTypeYesstringSCHEDULED_MAINTENANCESTANDARD,
EXPEDITED,
SCHEDULED_MAINTENANCE

Define your preferred scheduling type.

Schedule Types

STANDARD: Request will be processed in the standard turnaround time. Most requests are completed within 24 to 72 hours pending your install base readiness. Requests will be processed in the order they were received, unless they are expedited.
- Parameters 'requestedStartDate' and 'requestedCompletionDate' are not required.

EXPEDITED: Request will be completed within the next 2 to 24 hours. Additional Smart Hands fees may apply. Schedule a time in the current local time of the IBX you selected. Equinix will contact customer for schedule negotiation if preferred scheduling cannot be met.
- Parameter 'requestedCompletionDate' is required.

SCHEDULED_MAINTENANCE: Request will be scheduled as Customer Requested Maintenance. Additional Smart Hands fees may apply if your scheduled time is less than 24 hours from when the order is submitted. Equinix will contact customer for schedule negotiation if preferred scheduling cannot be met.
- Parameters 'requestedStartDate' and 'requestedCompletionDate' are required.
requestedStartDateConditionalstring2019-08-30T22:00:49.776Z

Requested start date and time.

If 'STANDARD' or 'EXPEDITED' schedule type, this parameter is not required.

If 'SCHEDULED_MAINTENANCE' schedule type, provide a date and time (UTC timezone) in one of the following ISO 8601 formats:

yyyy-MM-dd'T'HH:mm:ssZ,
yyyy-MM-dd'T'HH:mm:ss.SSSZ.
requestedCompletionDateConditionalstring2019-08-31T22:00:49.776Z

Requested end date and time.

If 'STANDARD' schedule type, this parameter is not required.

If 'EXPEDITED' or 'SCHEDULED_MAINTENANCE' schedule type, provide a date and time (UTC timezone) in one of the following ISO 8601 formats:

yyyy-MM-dd'T'HH:mm:ssZ,
yyyy-MM-dd'T'HH:mm:ss.SSSZ.

Expedited scheduling date should not be less than IBX local time + 2 hours, and no more than IBX local time + 24 hours.

Scheduled maintenance scheduling should not be less than 24 hours from when the order is submitted. Otherwise, additional Smart Hands fees may apply.
customerReferenceNumberNostringEQX-PO2019-08-001

Customer reference information for this order. This is free text input.

This can be a Purchase Order number or an internal code. This information can be searched for in Order History and will appear within Reports.

This field can only be up to 50 characters long.
purchaseOrderConditionalobject

Purchase order (PO) information details.

This is mandatory for PO bearing accounts.
 

If you do not know your account's PO bearing status, refer to GET Smarthands Locations under the API Reference section.

purchaseOrderTypeConditionalstringEXEMPTEDEXISTING,
EXEMPTED

Purchase order can be defined as new, existing, or exempted.

However, only existing and exempted purchase order types are currently being supported.

If 'EXISTING', the blanket purchase order is already known to Equinix and the purchase order number must be sent. Only numbers for blanket purchase orders will be accepted. If you do not have a valid blanket purchase order number, see 'EXEMPTED'.

If 'EXEMPTED', there are 2 scenarios where this option applies:-

1. A purchase order exemption form has already been submitted and approved, and a purchase order number is not required. No additional information or attachments are required.

2. A purchase order exemption request is made together with this order. A Purchase Order Exemption form should be attached to facilitate the exemption request.

This is mandatory for PO bearing accounts.
numberConditionalstring

Blanket purchase order number. This is free text input.

This field can only be up to 20 characters long.

If the blanket purchase order number submitted throws an error, select 'EXEMPTED' for purchase order type instead.

This is mandatory if purchase order type is 'EXISTING'.
attachmentConditionalobject

An object containing the attachment details of the Purchase Order Exemption Form.

Use the document below as a template for your Purchase Order Exemption Form.

Download Purchase Order Exemption Form Template.

The attachment, not exceeding 5MB, can be provided in the following formats: bmp, jpg, jpeg, gif, png, tif, tiff, txt, doc, docx, xls, xlsx, ppt, pps, ppsx, pdf, and vsd.
 

This should be included when purchase order type is 'EXEMPTED' and you are submitting a Purchase Order Exemption form.

 

Refer to POST Attachments File under the API Reference section for more information.

idConditionalstringabc1fd2e-345f-67g4-hi89-01jk234l5m6n

ID of the attachment. You will obtain this value after attaching your file using the attachment API.

This is mandatory when an attachment is included.
nameConditionalstringPurchaseOrderExemptionForm123.docx

Name of the attachment. You will obtain this value after attaching your file using the attachment API, but you may change the name for your own reference when including this attachment in any order request. This is free text input.

This is mandatory when an attachment is included.
contactsYesarray [objects] Contact information consists of the Ordering contact details, Technical contact details, and Notification contact details.
contactTypeYesstringORDERINGORDERING,
TECHNICAL,
NOTIFICATION

There are three types of contact persons: Ordering, Technical, and Notification. All three contacts are mandatory.

- Ordering contact person: Person who created the order. Only one Ordering contact can be passed.
- Technical contact person: Person who Equinix can reach out to for technical clarifications. Only one Technical contact can be passed.
- Notification contact person: Person who will be notified of status updates. At least one notification contact must be provided. If notification contact is not available to pass, use ordering contact as notification contact.
userNameYesstringjohndoe

Equinix-registered username of contact person whose user profile is active or locked.

For Ordering contact, Equinix-registered username of contact person must be active.

For Notification and Technical contacts, Equinix-registered username of contact person can be active or locked.

If the Technical contact does not have the required Equinix-registered username, their full name, email address, work phone, and work phone timezone calling preference must be provided. It is recommended to also include the work phone country code. Additional information such as mobile phone country code, mobile phone number, and their availability to take calls on their mobile phone may also be provided.

With the exception of the mandatory contact information required for the Technical contact, any other additional contact information passed together with a 'userName' for Ordering, Technical, and Notification contacts will be ignored.

For example, when 'email' and 'workPhone' are passed with 'userName' for Notification contact, these contact details will be ignored.
nameConditionalstringJane Smith

Full name of contact person. This is free text input.

This is mandatory when the Technical contact does not have an active or locked Equinix-registered username.
emailConditionalstringjanesmith@corporation.com

Email information of contact person. This is free text input.

This is mandatory when the Technical contact does not have an active or locked Equinix-registered username.
workPhoneCountryCodeNostring+44

Country code for work phone number of contact person. This is free text input.

Example: +571
 

It is recommended to include the work phone country code.

workPhoneYesstring0148211111

Work phone number of contact person. This is free text input.

This is mandatory when the Technical contact does not have an active or locked Equinix-registered username.
workPhonePrefToCallYesstringANYTIMENEVER,
ANYTIME,
MY_BUSINESS_HOURS,
IBX_BUSINESS_HOURS,
BUSINESS_HOURS

Availability of Technical contact person to take calls. This is mandatory for the Technical contact.

Call Preference - Description
NEVER - Does not take calls.
ANYTIME - Takes calls anytime.
MY_BUSINESS_HOURS - Takes calls only during their business days from 9am to 5pm in their specified time zone. The body parameter 'workPhoneTimeZone' is mandatory to pass when this option is selected.
IBX_BUSINESS_HOURS - Takes calls only during the business hours of the IBX. This would be in the IBX time zone from Mondays to Fridays, 9am to 5pm.

Deprecated values
BUSINESS_HOURS - This value will be removed in the near future.
workPhoneTimeZoneConditionalstringEurope/LondonClick here for applicable values.

This indicates the specific timezone of the Technical contact's business hours that follows the IANA time zone database names format.

This is mandatory when 'MY_BUSINESS_HOURS' is selected for 'workPhonePrefToCall'.
mobilePhoneCountryCodeNostring+1

Country code for mobile phone number of contact person. This is free text input.

Example: +571
mobilePhoneNostring0123456789
Mobile phone number of contact person. This is free text input.
mobilePhonePrefToCallNostringMY_BUSINESS_HOURSNEVER,
ANYTIME,
MY_BUSINESS_HOURS,
IBX_BUSINESS_HOURS,
BUSINESS_HOURS

Availability of Technical contact person to take calls on their mobile phone.

For description of applicable values, refer to description of body parameter 'workPhonePrefToCall'.
mobilePhoneTimeZoneConditionalstringEurope/LondonClick here for applicable values.

This indicates the specific timezone of the Technical contact's business hours that follows the IANA time zone database names format.

This should be included when 'MY_BUSINESS_HOURS' is selected for 'mobilePhonePrefToCall' and the mobile phone timezone differs from the work phone timezone.
If 'mobilePhoneTimeZone' is not included, it will be assumed that both the work phone and mobile phone timezones are the same.
{
"OrderNumber": "1-190986534844"
}

The description of the response payload is as follows:

Field nameTypeExampleDescription
OrderNumberstring1-190986534844The order number created after order is submitted.
 

If you get “Insufficient permissions” error, contact your Master Administrator.

Order to run jumper cables

OrderToRunJumperCables

Step 1: Authenticate

Submit your user credentials, Client ID, and Client Secret for OAuth2 authentication.

 

Refer to Generating Client ID and Client Secret under Getting Access Token section for instructions on how to create client ID and client secret and refer to Requesting Access and Refresh tokens for instructions on how to call Oauth API to validate and authenticate your credentials.

 

If you are unaware of your user credentials for Equinix Customer Portal, contact your local Equinix Service Desk. 

Step 2: Get Smart Hands Details

 

To get Smart Hands details, the user must have 'Smart Hands' permission. If you are unaware of your user permissions, contact your Master Administrator.

2a) Get Smart Hands Types
Retrieve all the Smart Hands categories supported by Equinix.

 

Refer to Get Smarthands Types under the API Reference section for instructions on how to get all Smart Hands types. You may skip this step if you already know the Smart Hands type.

2b) Get Location Information
Retrieve your IBX location information.

 

Use this API to get all available IBX locations, cages, and cabinets that the user has access to.

 

Refer to Get Smarthands Locations under the API Reference section for instructions on how to retrieve available IBX locations. You may skip this step if you already know the location information.

Step 3: Order Run Jumper Cables

 POST /smarthands/runJumperCable
MethodPOST
URL or End Point/v1/orders/smarthands/runJumperCable
HeadersAuthorization, Content-Type
Query ParametersNot applicable
BodyibxLocation {ibx, cages [{cage, cabinets[...], accountNumber}]}, serviceDetails {quantity, jumperType, mediaType, connector, cableId, provideTxRxLightLevels, deviceDetails[{name, slot, port}], scopeOfWork, needSupportFromASubmarineCableStationEngineer}, attachments [{id, name}], schedule {scheduleType, requestedStartDate, requestedCompletionDate}, customerReferenceNumber, purchaseOrder {purchaseOrderType, number, attachment {id, name}}, contacts [{contactType, userName}, {contactType, name, email, workPhoneCountryCode, workPhone, workPhonePrefToCall, workPhoneTimeZone, mobilePhoneCountryCode, mobilePhone, mobilePhonePrefToCall}]

This method orders jumper cables to be run between devices by an Equinix IBX Technician. This can only be done by a user with Smart Hands ordering permission. The authorization token and content-type are the only headers that are passed to this API and a response is received based on the values passed.

 

If you are unaware of how to obtain an authorization token, refer to Requesting Access and Refresh tokens under the Getting Access Token section.

The following screenshots show a sample curl request and JSON response for this method.

The request indicates four scenarios:
(A) An order to run a jumper cable without additional information, attachments, or contacts
(B) An order to run a jumper cable with additional information, attachments, and contacts
(C) An order to run multiple jumper cables without additional information, attachments, or contacts
(D) An order to run multiple jumper cables with additional information, attachments, and contacts

The response indicates the order was successful and returned the order number.

(A) Run a jumper cable without additional information, attachments, or contacts

curl -X
POST "https://api.equinix.com/v1/orders/smarthands/runJumperCable"
-H "content-type: application/json"
-H "authorization: Bearer qwErtY8zyW1abcdefGHI"
-d '{
"ibxLocation": {
"ibx": "AM1",
"cages": [
{
"cage": "AM1:0J:00JD11",
"accountNumber": "126854"
}
]
},
"serviceDetails": {
"quantity": "1",
"jumperType": "Jumper",
"mediaType": "Multi-mode 62.5mic",
"connector": "RJ45",
"provideTxRxLightLevels": true,
"deviceDetails": [
{
"name": "Device1: NH-Server-01",
"slot": "1",
"port": "1"
}
],
"scopeOfWork": "Run cable(s) from Server01 to Server 09, and ensure cable tag is easily seen at all times."
},
"schedule": {
"scheduleType": "SCHEDULED_MAINTENANCE",
"requestedStartDate": "2019-08-30T22:00:49.776Z",
"requestedCompletionDate": "2019-08-31T22:00:49.776Z"
},
"contacts": [
{
"contactType": "ORDERING",
"userName": "johndoe"
},
{
"contactType": "TECHNICAL",
"userName": "johndoe",
"workPhonePrefToCall": "ANYTIME"
},
{
"contactType": "NOTIFICATION",
"userName": "johndoe"
}
]
}'

(B) Run a jumper cable with additional information, attachments, and contacts

 

Before creating an order with attachment, call the POST Attachments File under the API Reference section.

curl -X
POST "https://api.equinix.com/v1/orders/smarthands/runJumperCable"
-H "content-type: application/json"
-H "authorization: Bearer qwErtY8zyW1abcdefGHI"
-d '{
"ibxLocation": {
"ibx": "AM1",
"cages": [
{
"cage": "AM1:0J:00JD11",
"accountNumber": "126854"
}
]
},
"serviceDetails": {
"quantity": "1",
"jumperType": "Jumper",
"mediaType": "Multi-mode 62.5mic",
"connector": "RJ45",
"cableId": "1-12345-67890",
"provideTxRxLightLevels": true,
"deviceDetails": [
{
"name": "Device1: NH-Server-01",
"slot": "1",
"port": "1"
},
{
"name": "Device2: NH-Server-09",
"slot": "1",
"port": "1"
}
],
"scopeOfWork": "Refer to attachment for cable details.",
"needSupportFromASubmarineCableStationEngineer": true
},
"attachments": [
{
"id": "fcb4a673-6308-456e-8f83-f745501d60ba",
"name": "RunCablesInstructions.docx"
}
],
"schedule": {
"scheduleType": "SCHEDULED_MAINTENANCE",
"requestedStartDate": "2019-08-30T22:00:49.776Z",
"requestedCompletionDate": "2019-08-31T22:00:49.776Z"
},
"customerReferenceNumber": "EQX-PO2019-08-001",
"purchaseOrder": {
"purchaseOrderType": "EXEMPTED",
"attachment": {
"id": "abc1fd2e-345f-67g4-hi89-01jk234l5m6n",
"name": "PurchaseOrderExemptionForm123.docx"
}
},
"contacts": [
{
"contactType": "ORDERING",
"userName": "johndoe"
},
{
"contactType": "TECHNICAL",
"name": "Jane Smith",
"email": "janesmith@corporation.com",
"workPhoneCountryCode": "+44",
"workPhone": "0148211111",
"workPhonePrefToCall": "MY_BUSINESS_HOURS",
"workPhoneTimeZone": "Europe/London",
"mobilePhoneCountryCode": "+44",
"mobilePhone": "0123456789",
"mobilePhonePrefToCall": "MY_BUSINESS_HOURS",
"mobilePhoneTimeZone": "Europe/London"
},
{
"contactType": "NOTIFICATION",
"userName": "johndoe"
},
{
"contactType": "NOTIFICATION",
"userName": "janesnow"
}
]
}'

(C) Run multiple jumper cables without additional information, attachments, or contacts

curl -X
POST "https://api.equinix.com/v1/orders/smarthands/runJumperCable"
-H "content-type: application/json"
-H "authorization: Bearer qwErtY8zyW1abcdefGHI"
-d '{
"ibxLocation": {
"ibx": "AM1",
"cages": [
{
"cage": "AM1:0J:00JD11",
"accountNumber": "126854"
}
]
},
"serviceDetails": {
"quantity": "12+",
"provideTxRxLightLevels": true,
"scopeOfWork": "Run cable(s) from Server01 to Server 09, and ensure cable tag is easily seen at all times."
},
"schedule": {
"scheduleType": "SCHEDULED_MAINTENANCE",
"requestedStartDate": "2019-08-30T22:00:49.776Z",
"requestedCompletionDate": "2019-08-31T22:00:49.776Z"
},
"contacts": [
{
"contactType": "ORDERING",
"userName": "johndoe"
},
{
"contactType": "TECHNICAL",
"userName": "johndoe",
"workPhonePrefToCall": "ANYTIME"
},
{
"contactType": "NOTIFICATION",
"userName": "johndoe"
}
]
}'

(D) Run multiple jumper cables with additional information, attachments, and contacts

 

Before creating an order with attachment, call the POST Attachments File under the API Reference section.

curl -X
POST "https://api.equinix.com/v1/orders/smarthands/runJumperCable"
-H "content-type: application/json"
-H "authorization: Bearer qwErtY8zyW1abcdefGHI"
-d '{
"ibxLocation": {
"ibx": "AM1",
"cages": [
{
"cage": "AM1:0J:00JD11",
"cabinets": [
"AM1:0J:00JD11:0001"
],
"accountNumber": "126854"
}
]
},
"serviceDetails": {
"quantity": "12+",
"provideTxRxLightLevels": true,
"scopeOfWork": "Refer to attachment for cable details.",
"needSupportFromASubmarineCableStationEngineer": true
},
"attachments": [
{
"id": "fcb4a673-6308-456e-8f83-f745501d60ba",
"name": "RunCablesInstructions.docx"
}

],
"schedule": {
"scheduleType": "SCHEDULED_MAINTENANCE",
"requestedStartDate": "2019-08-30T22:00:49.776Z",
"requestedCompletionDate": "2019-08-31T22:00:49.776Z"
},
"customerReferenceNumber": "EQX-PO2019-08-001",
"purchaseOrder": {
"purchaseOrderType": "EXEMPTED",
"attachment": {
"id": "abc1fd2e-345f-67g4-hi89-01jk234l5m6n",
"name": "PurchaseOrderExemptionForm123.docx"
}
},
"contacts": [
{
"contactType": "ORDERING",
"userName": "johndoe"
},
{
"contactType": "TECHNICAL",
"name": "Jane Smith",
"email": "janesmith@corporation.com",
"workPhoneCountryCode": "+44",
"workPhone": "0148211111",
"workPhonePrefToCall": "MY_BUSINESS_HOURS",
"workPhoneTimeZone": "Europe/London",
"mobilePhoneCountryCode": "+44",
"mobilePhone": "0123456789",
"mobilePhonePrefToCall": "MY_BUSINESS_HOURS",
"mobilePhoneTimeZone": "Europe/London"
},
{
"contactType": "NOTIFICATION",
"userName": "johndoe"
},
{
"contactType": "NOTIFICATION",
"userName": "janesnow"
}
]
}'

The description of the body parameters is as follows:

 

When 'Conditional' is indicated for a Body Parameter, refer to Description for further details.

Body Parameter NameMandatoryTypeExampleApplicable ValuesDescription
ibxLocationYesobject IBX location information consists of the cages information and IBX.
ibxYesstringAM1

The IBX location code.

For example, AM1 is an IBX data centre in Amsterdam, Netherlands.
cagesYesarray [objects]

Cages information consists of ID of cage, ID of cabinet, and cage account number.

 

Only 1 cage per order is currently being supported. Provide information for only 1 cage.

cageYesstringAM1:0J:00JD11 ID of the cage.
cabinetsNoarray [strings]AM1:0J:00JD11:0001

ID of the cabinet.

 

If providing cabinet, provide only 1 cabinet ID. Only 1 cabinet is currently being supported per cage.

accountNumberYesstring126854 The customer account number that is linked to the cage.
serviceDetailsYesobject Service details consists of cross connections information.
quantityYesstring11,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
12+

The total number of jumper cables to run.

If the quantity requested is 1, the following parameters are mandatory: 'jumperType', 'mediaType', 'connector', 'provideTxRxLightLevels', and 'deviceDetails'. The parameter 'cableId' may also be provided.

 

If there are multiple cables being requested, it is recommended to provide the following details in the scopeOfWork information, or in an attachment (if the specifications exceeds the scopeOfWork field) for each cable:

  1. Jumper Type
  2. Media Type
  3. Connector Type
  4. Cable ID (optional)
  5. Should Equinix provide you Tx/Rx light levels, Yes Or No?
  6. Devices to Connect

Device #1:
Name/Panel:
Device Slot:
Device Ports:

Device #2(Optional):
Name/Panel:
Device Slot:
Device Ports:

  1. If any device is being shipped to Equinix, include the shipment number.

You may mix jumper types but if you require more than 12 jumpers ran, the site will contact you for scheduling of your request based on parts and availability. Select the best option for your scheduling needs.

jumperTypeConditionalstringJumperJumper,
Pre-Wiring,
Patch Cable,
Other

The type of jumper cable to run.

This is mandatory when quantity requested is '1'.
mediaTypeConditionalstringMulti-mode 62.5micMulti-mode 62.5mic,
Multi-mode 50mic,
Single-mode,
Cat-5,
Cat-6,
Coax,
POTS,
T1,
E1

Preferred media type of requested cable.

This is mandatory when quantity requested is '1'.
connectorConditionalstringRJ45RJ45,
SC,
LC,
BNC,
Other

Preferred connector type of requested cable.

This is mandatory when quantity requested is '1'.
cableIdNostring1-12345-67890

The cable ID number. This is free text input.

This field can only be up to 50 characters long.
provideTxRxLightLevelsConditionalbooleantruetrue,
false

Requirement for light reading and tx/rx verification to be provided.

If 'true', light reading and tx/rx verification will be provided once the cables are run.

If 'false', light reading or tx/rx verification will not be provided.

This is mandatory when quantity requested is '1'.
deviceDetailsConditionalarray [objects]

The details of the device(s) to run the cables.

At least one object of device details representing one device is mandatory when quantity requested is '1'. An object representing one device consists of the name, slot, and port of the device. A second object of device details when quantity requested is '1'is optional. There should be no more than two objects of device details.

This is mandatory when quantity requested is '1'.
nameConditionalstringDevice1: NH-Server-01

The name of the device. This is free text input.

This field can only be up to 200 characters long.

This is mandatory when including the parameter 'deviceDetails'.
slotConditionalstring50

The slot of device where the cable is connected. This is free text input.

This field can only be up to 50 characters long.

This is mandatory when including the parameter 'deviceDetails'.
portConditionalstring50

The port of the device where the cable is connected. This is free text input.

This field can only be up to 50 characters long.

This is mandatory when including the parameter 'deviceDetails'.
scopeOfWorkYesstring

Run cable(s) from Server01 to Server 09, and ensure cable tag is easily seen at all times.,

Refer to attachment for cable details.

A detailed description of the scope of work. This is free text input.

 

If there are multiple cables being requested, it is recommended to provide the following details in the scopeOfWork information, or in an attachment (if the specifications exceed the scopeOfWork field) for each cable:

  1. Jumper Type
  2. Media Type
  3. Connector Type
  4. Cable ID (optional)
  5. Should Equinix provide you Tx/Rx light levels, Yes Or No?
  6. Devices to Connect:

Device #1:
Name/Panel:
Device Slot:
Device Ports:

Device #2(Optional):
Name/Panel:
Device Slot:
Device Ports:

  1. If any device is being shipped to Equinix, include the shipment number.

You may mix jumper types but if you require more than 12 jumpers ran, the site will contact you for scheduling of your request based on parts and availability. Select the best option for your scheduling needs.

This field can only be up to 4000 characters long.

needSupportFromASubmarineCableStationEngineerConditionalbooleantruetrue,
false

Requirement for submarine cable station engineer support.

This is mandatory for customers with Monet accounts.

If 'true', submarine cable station engineer support is required.

If 'false', submarine cable station engineer support is not required.

Default value: false
attachmentsNoarray [objects]

An array containing the attachment details.

Up to 5 attachments, each not exceeding 5MB, can be provided in the following formats: bmp, jpg, jpeg, gif, png, tif, tiff, txt, doc, docx, xls, xlsx, ppt, pps, ppsx, pdf, and vsd.

In this case, it is for any supporting photos or documentation that may help the request.
 

Refer to POST Attachments File under the API Reference section for more information.

idConditionalstringfcb2k8763-2947-456e- 8d68-f280753d60ba

ID of the attachment. You will obtain this value after attaching your file using the attachment API.

This is mandatory when an attachment is included.
nameConditionalstringMoveCablesInstructions.docx

Name of the attachment. You will obtain this value after attaching your file using the attachment API, but you may change the name for your own reference when including this attachment in any order request. This is free text input.

This is mandatory when an attachment is included.
scheduleYesobject Schedule information that includes schedule type, and the starting and ending dates and times for the schedule.
scheduleTypeYesstringSCHEDULED_MAINTENANCESTANDARD,
EXPEDITED,
SCHEDULED_MAINTENANCE

Define your preferred scheduling type.

Schedule Types

STANDARD: Request will be processed in the standard turnaround time. Most requests are completed within 24 to 72 hours pending your install base readiness. Requests will be processed in the order they were received, unless they are expedited.
- Parameters 'requestedStartDate' and 'requestedCompletionDate' are not required.

EXPEDITED: Request will be completed within the next 2 to 24 hours. Additional Smart Hands fees may apply. Schedule a time in the current local time of the IBX you selected. Equinix will contact customer for schedule negotiation if preferred scheduling cannot be met.
- Parameter 'requestedCompletionDate' is required.

SCHEDULED_MAINTENANCE: Request will be scheduled as Customer Requested Maintenance. Additional Smart Hands fees may apply if your scheduled time is less than 24 hours from when the order is submitted. Equinix will contact customer for schedule negotiation if preferred scheduling cannot be met.
- Parameters 'requestedStartDate' and 'requestedCompletionDate' are required.
requestedStartDateConditionalstring2019-08-30T22:00:49.776Z

Requested start date and time.

If 'STANDARD' or 'EXPEDITED' schedule type, this parameter is not required.

If 'SCHEDULED_MAINTENANCE' schedule type, provide a date and time (UTC timezone) in one of the following ISO 8601 formats:

yyyy-MM-dd'T'HH:mm:ssZ,
yyyy-MM-dd'T'HH:mm:ss.SSSZ.
requestedCompletionDateConditionalstring2019-08-31T22:00:49.776Z

Requested end date and time.

If 'STANDARD' schedule type, this parameter is not required.

If 'EXPEDITED' or 'SCHEDULED_MAINTENANCE' schedule type, provide a date and time (UTC timezone) in one of the following ISO 8601 formats:

yyyy-MM-dd'T'HH:mm:ssZ,
yyyy-MM-dd'T'HH:mm:ss.SSSZ.

Expedited scheduling date should not be less than IBX local time + 2 hours, and no more than IBX local time + 24 hours.

Scheduled maintenance scheduling should not be less than 24 hours from when the order is submitted. Otherwise, additional Smart Hands fees may apply.
customerReferenceNumberNostringEQX-PO2019-08-001

Customer reference information for this order. This is free text input.

This can be a Purchase Order number or an internal code. This information can be searched for in Order History and will appear within Reports.

This field can only be up to 50 characters long.
purchaseOrderConditionalobject

Purchase order (PO) information details.

This is mandatory for PO bearing accounts.
 

If you do not know your account's PO bearing status, refer to GET Smarthands Locations under the API Reference section.

purchaseOrderTypeConditionalstringEXEMPTEDEXISTING,
EXEMPTED

Purchase order can be defined as new, existing, or exempted.

However, only existing and exempted purchase order types are currently being supported.

If 'EXISTING', the blanket purchase order is already known to Equinix and the purchase order number must be sent. Only numbers for blanket purchase orders will be accepted. If you do not have a valid blanket purchase order number, see 'EXEMPTED'.

If 'EXEMPTED', there are 2 scenarios where this option applies:-


1. A purchase order exemption form has already been submitted and approved, and a purchase order number is not required. No additional information or attachments are required.

2. A purchase order exemption request is made together with this order. A Purchase Order Exemption form should be attached to facilitate the exemption request.

This is mandatory for PO bearing accounts.
numberConditionalstring

Blanket purchase order number. This is free text input.

This field can only be up to 20 characters long.

If the blanket purchase order number submitted throws an error, select 'EXEMPTED' for purchase order type instead.

This is mandatory if purchase order type is 'EXISTING'.
attachmentConditionalobject

An object containing the attachment details of the Purchase Order Exemption Form.

Use the document below as a template for your Purchase Order Exemption Form.

Download Purchase Order Exemption Form Template.

The attachment, not exceeding 5MB, can be provided in the following formats: bmp, jpg, jpeg, gif, png, tif, tiff, txt, doc, docx, xls, xlsx, ppt, pps, ppsx, pdf, and vsd.
 

This should be included when purchase order type is 'EXEMPTED' and you are submitting a Purchase Order Exemption form.

 

Refer to POST Attachments File under the API Reference section for more information.

idConditionalstringabc1fd2e-345f-67g4-hi89-01jk234l5m6n

ID of the attachment. You will obtain this value after attaching your file using the attachment API.

This is mandatory when an attachment is included.
nameConditionalstringPurchaseOrderExemptionForm123.docx

Name of the attachment. You will obtain this value after attaching your file using the attachment API, but you may change the name for your own reference when including this attachment in any order request. This is free text input.

This is mandatory when an attachment is included.
contactsYesarray [objects] Contact information consists of the Ordering contact details, Technical contact details, and Notification contact details.
contactTypeYesstringORDERINGORDERING,
TECHNICAL,
NOTIFICATION

There are three types of contact persons: Ordering, Technical, and Notification. All three contacts are mandatory.

- Ordering contact person: Person who created the order. Only one Ordering contact can be passed.
- Technical contact person: Person who Equinix can reach out to for technical clarifications. Only one Technical contact can be passed.
- Notification contact person: Person who will be notified of status updates. At least one notification contact must be provided. If notification contact is not available to pass, use ordering contact as notification contact.
userNameYesstringjohndoe,janesnow

Equinix-registered username of contact person whose user profile is active or locked.

For Ordering contact, Equinix-registered username of contact person must be active.

For Notification and Technical contacts, Equinix-registered username of contact person can be active or locked.

If the Technical contact does not have the required Equinix-registered username, their full name, email address, work phone, and work phone timezone calling preference must be provided. It is recommended to also include the work phone country code. Additional information such as mobile phone country code, mobile phone number, and their availability to take calls on their mobile phone may also be provided.

With the exception of the mandatory contact information required for the Technical contact, any other additional contact information passed together with a 'userName' for Ordering, Technical, and Notification contacts will be ignored.

For example, when 'email' and 'workPhone' are passed with 'userName' for Notification contact, these contact details will be ignored.
nameConditionalstringJane Smith

Full name of contact person. This is free text input.

This is mandatory when the Technical contact does not have an active or locked Equinix-registered username.
emailConditionalstringjanesmith@corporation.com

Email information of contact person. This is free text input.

This is mandatory when the Technical contact does not have an active or locked Equinix-registered username.
workPhoneCountryCodeNostring+44

Country code for work phone number of contact person. This is free text input.

Example: +571
 

It is recommended to include the work phone country code.

workPhoneConditionalstring0148211111

Work phone number of contact person. This is free text input.

This is mandatory when the Technical contact does not have an active or locked Equinix-registered username.
workPhonePrefToCallYesstringANYTIMENEVER,
ANYTIME,
MY_BUSINESS_HOURS,
IBX_BUSINESS_HOURS,
BUSINESS_HOURS

Availability of Technical contact person to take calls. This is mandatory for the Technical contact.

Call Preference - Description
NEVER - Does not take calls.
ANYTIME - Takes calls anytime.
MY_BUSINESS_HOURS - Takes calls only during their business days from 9am to 5pm in their specified time zone. The body parameter 'workPhoneTimeZone' is mandatory to pass when this option is selected.
IBX_BUSINESS_HOURS - Takes calls only during the business hours of the IBX. This would be in the IBX time zone from Mondays to Fridays, 9am to 5pm.

Deprecated values
BUSINESS_HOURS - This value will be removed in the near future.
workPhoneTimeZoneConditionalstringEurope/London

Click here for applicable values.

This indicates the specific timezone of the Technical contact's business hours that follows the IANA time zone database names format.

This is mandatory when 'MY_BUSINESS_HOURS' is selected for 'workPhonePrefToCall'.
mobilePhoneCountryCodeNostring+1

Country code for mobile phone number of contact person. This is free text input.

Example: +571
mobilePhoneNostring0123456789 Mobile phone number of contact person. This is free text input.
mobilePhonePrefToCallNostringMY_BUSINESS_HOURSNEVER,
ANYTIME,
MY_BUSINESS_HOURS,
IBX_BUSINESS_HOURS,
BUSINESS_HOURS

Availability of Technical contact person to take calls on their mobile phone.

For description of applicable values, refer to description of body parameter 'workPhonePrefToCall'.
mobilePhoneTimeZoneConditionalstringEurope/LondonClick here for applicable values.

This indicates the specific timezone of the Technical contact's business hours that follows the IANA time zone database names format.

This should be included when 'MY_BUSINESS_HOURS' is selected for 'mobilePhonePrefToCall' and the mobile phone timezone differs from the work phone timezone.
If 'mobilePhoneTimeZone' is not included, it will be assumed that both the work phone and mobile phone timezones are the same.
{
"OrderNumber": "1-190986534844"
}

The description of the response payload is as follows:

Field nameTypeExampleDescription
OrderNumberstring1-190986534844The order number created after order is submitted.
 

If you get “Insufficient permissions” error, contact your Master Administrator.

Order unlisted smart hands

OrderUnlistedSmartHands

 

The following video shows how to create an unlisted smart hands order using Equinix Customer Portal APIs.
Click here to download the postman scripts shown in this demo.

Step 1: Authenticate

Submit your user credentials, Client ID, and Client Secret for OAuth2 authentication.

 

Refer to Generating Client ID and Client Secret under Getting Access Token section for instructions on how to create client ID and client secret and refer to Requesting Access and Refresh tokens for instructions on how to call Oauth API to validate and authenticate your credentials.

 

If you are unaware of your user credentials for Equinix Customer Portal, contact your local Equinix Service Desk. 

Step 2: Get Smart Hands Details

 

To get Smart Hands details, the user must have 'Smart Hands' permission. If you are unaware of your user permissions, contact your Master Administrator.

2a) Get Smart Hands Types
Retrieve all the Smart Hands categories supported by Equinix.

 

Refer to Get Smarthands Types under the API Reference section for instructions on how to get all Smart Hands types. You may skip this step if you already know the Smart Hands type.

2b) Get Location Information
Retrieve your IBX location information.

 

Use this API to get all available IBX locations, cages, and cabinets that the user has access to.

 

Refer to Get Smarthands Locations under the API Reference section for instructions on how to retrieve available IBX locations. You may skip this step if you already know the location information.

Step 3: Order Smart Hands: Others

 POST /smarthands/other
MethodPOST
URL or End Point/v1/orders/smarthands/other
HeadersAuthorization, Content-Type
Query ParametersNot applicable
BodyibxLocation {ibx, cages [{cage, cabinets[...], accountNumber}]}, serviceDetails {scopeOfWork, needSupportFromASubmarineCableStationEngineer}, attachments [{id, name}], schedule {scheduleType, requestedStartDate, requestedCompletionDate}, customerReferenceNumber, purchaseOrder {purchaseOrderType, number, attachment {id, name}}, contacts [{contactType, userName}, {contactType, name, email, workPhoneCountryCode, workPhone, workPhonePrefToCall, workPhoneTimeZone, mobilePhoneCountryCode, mobilePhone, mobilePhonePrefToCall}]

This method requests an unlisted Smart Hands order at an IBX location where the user has Smart Hands ordering permission. The authorization token and content-type are the only headers that are passed to this API and a response is received based on the values passed.

 

If you are unaware of how to obtain an authorization token, refer to Requesting Access and Refresh tokens under the Getting Access Token section.

The following screenshots show a sample curl request and JSON response for this method.

The request indicates two scenarios: a Smart Hands: Other order made without additional information, attachments, or contacts; and a Smart Hands: Other order made with additional information, attachments, and contacts.

The response indicates the order was successful and returned the order number.

Smart Hands: Other order without additional information, attachments, or contacts

curl -X
POST "https://api.equinix.com/v1/orders/smarthands/other"
-H "content-type: application/json"
-H "authorization: Bearer qwErtY8zyW1abcdefGHI"
-d '{
"ibxLocation": {
"ibx": "AM1",
"cages": [
{
"cage": "AM1:0J:00JD11",
"accountNumber": "126854"
}
]
},
"serviceDetails": {
"scopeOfWork": "The camera vision tends to blur from 10pm-2am every night. Spend the night in the cage to monitor what the issue is."
},
"schedule": {
"scheduleType": "SCHEDULED_MAINTENANCE",
"requestedStartDate": "2019-08-30T22:00:49.776Z",
"requestedCompletionDate": "2019-08-31T22:00:49.776Z"
},
"contacts": [
{
"contactType": "ORDERING",
"userName": "johndoe"
},
{
"contactType": "TECHNICAL",
"userName": "johndoe",
"workPhonePrefToCall": "ANYTIME"
},
{
"contactType": "NOTIFICATION",
"userName": "johndoe"
}
]
}'

Smart Hands: Other order with additional information, attachments, and contacts

 

Before creating an order with attachment, call the POST Attachments File under the API Reference section.

curl -X
POST "https://api.equinix.com/v1/orders/smarthands/other"
-H "content-type: application/json"
-H "authorization: Bearer qwErtY8zyW1abcdefGHI"
-d '{
"ibxLocation": {
"ibx": "AM1",
"cages": [
{
"cage": "AM1:0J:00JD11",
"cabinets": [
"AM1:0J:00JD11:0001"
],
"accountNumber": "126854"
}
]
},
"serviceDetails": {
"scopeOfWork": "The camera vision tends to blur from 10pm-2am every night. Spend the night in the cage to monitor what the issue is.",
"needSupportFromASubmarineCableStationEngineer": true
},
"attachments": [
{
"id": "fcb2k8763-2947-456e-8d68-f280753d60ba",
"name": "SupportingPhotos.docx"
}
],
"schedule": {
"scheduleType": "SCHEDULED_MAINTENANCE",
"requestedStartDate": "2019-08-30T22:00:49.776Z",
"requestedCompletionDate": "2019-08-31T22:00:49.776Z"
},
"customerReferenceNumber": "EQX-PO2019-08-001",
"purchaseOrder": {
"purchaseOrderType": "EXEMPTED",
"attachment": {
"id": "abc1fd2e-345f-67g4-hi89-01jk234l5m6n",
"name": "PurchaseOrderExemptionForm123.docx"
}
},
"contacts": [
{
"contactType": "ORDERING",
"userName": "johndoe"
},
{
"contactType": "TECHNICAL",
"name": "Jane Smith",
"email": "janesmith@corporation.com",
"workPhoneCountryCode": "+44",
"workPhone": "0148211111",
"workPhonePrefToCall": "MY_BUSINESS_HOURS",
"workPhoneTimeZone": "Europe/London",
"mobilePhoneCountryCode": "+44",
"mobilePhone": "0123456789",
"mobilePhonePrefToCall": "MY_BUSINESS_HOURS",
"mobilePhoneTimeZone": "Europe/London"
},
{
"contactType": "NOTIFICATION",
"userName": "johndoe"
},
{
"contactType": "NOTIFICATION",
"userName": "janesmith"
}
]
}'

The description of the body parameters is as follows:

 

When 'Conditional' is indicated for a Body Parameter, refer to Description for further details.

Body Parameter NameMandatoryTypeExampleApplicable ValuesDescription
ibxLocationYesobject IBX location information consists of the cages information and IBX.
ibxYesstringAM1

The IBX location code.

For example, AM1 is an IBX data centre in Amsterdam, Netherlands.
cagesYesarray [objects]

Cages information consists of ID of cage, ID of cabinet, and cage account number.

 

Only 1 cage per order is currently being supported. Provide information for only 1 cage.

cageYesstringAM1:0J:00JD11 ID of the cage.
cabinetsNoarray [strings]AM1:0J:00JD11:0001

ID of the cabinet.

 

If providing cabinet, provide only 1 cabinet ID. Only 1 cabinet is currently being supported per cage.

accountNumberYesstring126854 The customer account number that is linked to the cage.
serviceDetailsYesobject Service details consist of scope of work.
scopeOfWorkYesstringThe camera vision tends to blur from 10pm-2am every night. Spend the night in the cage to monitor what the issue is.

A detailed description of the scope of work. This is free text.

This field can only be up to 4000 characters long.
needSupportFromASubmarineCableStationEngineerConditionalbooleantruetrue,
false

Requirement for submarine cable station engineer support.

This is mandatory for customers with Monet accounts.

If 'true', submarine cable station engineer support is required.

If 'false', submarine cable station engineer support is not required.

Default value: false
attachmentsNoarray [objects]

An array containing the attachment details.

Up to 5 attachments, each not exceeding 5MB, can be provided in the following formats: bmp, jpg, jpeg, gif, png, tif, tiff, txt, doc, docx, xls, xlsx, ppt, pps, ppsx, pdf, and vsd.

In this case, it is for any supporting photos or documentation that may help the request.
 

Refer to POST Attachments File under the API Reference section for more information.

idConditionalstringfcb2k8763-2947-456e- 8d68-f280753d60ba

ID of the attachment. You will obtain this value after attaching your file using the attachment API.

This is mandatory when an attachment is included.
nameConditionalstringSupportingPhotos.docx

Name of the attachment. You will obtain this value after attaching your file using the attachment API, but you may change the name for your own reference when including this attachment in any order request. This is free text input.

This is mandatory when an attachment is included.
scheduleYesobject Schedule information that includes schedule type, and the starting and ending dates and times for the schedule.
scheduleTypeYesstringSCHEDULED_MAINTENANCESTANDARD,
EXPEDITED,
SCHEDULED_MAINTENANCE

Define your preferred scheduling type.

Schedule Types

STANDARD: Request will be processed in the standard turnaround time. Most requests are completed within 24 to 72 hours pending your install base readiness. Requests will be processed in the order they were received, unless they are expedited.
- Parameters 'requestedStartDate' and 'requestedCompletionDate' are not required.

EXPEDITED: Request will be completed within the next 2 to 24 hours. Additional Smart Hands fees may apply. Schedule a time in the current local time of the IBX you selected. Equinix will contact customer for schedule negotiation if preferred scheduling cannot be met.
- Parameter 'requestedCompletionDate' is required.

SCHEDULED_MAINTENANCE: Request will be scheduled as Customer Requested Maintenance. Additional Smart Hands fees may apply if your scheduled time is less than 24 hours from when the order is submitted. Equinix will contact customer for schedule negotiation if preferred scheduling cannot be met.
- Parameters 'requestedStartDate' and 'requestedCompletionDate' are required.
requestedStartDateConditionalstring2019-08-30T22:00:49.776Z

Requested start date and time.

If 'STANDARD' or 'EXPEDITED' schedule type, this parameter is not required.

If 'SCHEDULED_MAINTENANCE' schedule type, provide a date and time (UTC timezone) in one of the following ISO 8601 formats:

yyyy-MM-dd'T'HH:mm:ssZ,
yyyy-MM-dd'T'HH:mm:ss.SSSZ.
requestedCompletionDateConditionalstring2019-08-31T22:00:49.776Z

Requested end date and time.

If 'STANDARD' schedule type, this parameter is not required.

If 'EXPEDITED' or 'SCHEDULED_MAINTENANCE' schedule type, provide a date and time (UTC timezone) in one of the following ISO 8601 formats:

yyyy-MM-dd'T'HH:mm:ssZ,
yyyy-MM-dd'T'HH:mm:ss.SSSZ.

Expedited scheduling date should not be less than IBX local time + 2 hours, and no more than IBX local time + 24 hours.

Scheduled maintenance scheduling should not be less than 24 hours from when the order is submitted. Otherwise, additional Smart Hands fees may apply.
customerReferenceNumberNostringEQX-PO2019-08-001

Customer reference information for this order. This is free text.

This can be a Purchase Order number or an internal code. This information can be searched for in Order History and will appear within Reports.

This field can only be up to 50 characters long.
purchaseOrderConditionalobject

Purchase order (PO) information details.

This is mandatory for PO bearing accounts.
 

If you do not know your account's PO bearing status, refer to GET Smarthands Locations under the API Reference section.

purchaseOrderTypeConditionalstringEXEMPTEDEXISTING,
EXEMPTED

Purchase order can be defined as new, existing, or exempted.

However, only existing and exempted purchase order types are currently being supported.

If 'EXISTING', the blanket purchase order is already known to Equinix and the purchase order number must be sent. Only numbers for blanket purchase orders will be accepted. If you do not have a valid blanket purchase order number, see 'EXEMPTED'.

If 'EXEMPTED', there are 2 scenarios where this option applies:-

1. A purchase order exemption form has already been submitted and approved, and a purchase order number is not required. No additional information or attachments are required.

2. A purchase order exemption request is made together with this order. A Purchase Order Exemption form should be attached to facilitate the exemption request.

This is mandatory for PO bearing accounts.
numberConditionalstring

Blanket purchase order number. This is free text input.

This field can only be up to 20 characters long.

If the blanket purchase order number submitted throws an error, select 'EXEMPTED' for purchase order type instead.

This is mandatory if purchase order type is 'EXISTING'.
attachmentConditionalobject

An object containing the attachment details of the Purchase Order Exemption Form.

Use the document below as a template for your Purchase Order Exemption Form.

Download Purchase Order Exemption Form Template.

The attachment, not exceeding 5MB, can be provided in the following formats: bmp, jpg, jpeg, gif, png, tif, tiff, txt, doc, docx, xls, xlsx, ppt, pps, ppsx, pdf, and vsd.
 

This should be included when purchase order type is 'EXEMPTED' and you are submitting a Purchase Order Exemption form.

 

Refer to POST Attachments File under the API Reference section for more information.

idConditionalstringabc1fd2e-345f-67g4-hi89-01jk234l5m6n

ID of the attachment. You will obtain this value after attaching your file using the attachment API.

This is mandatory when an attachment is included.
nameConditionalstringPurchaseOrderExemptionForm123.docx

Name of the attachment. You will obtain this value after attaching your file using the attachment API, but you may change the name for your own reference when including this attachment in any order request. This is free text input.

This is mandatory when an attachment is included.
contactsYesarray [objects] Contact information consists of the Ordering contact details, Technical contact details, and Notification contact details.
contactTypeYesstringORDERINGORDERING,
TECHNICAL,
NOTIFICATION

There are three types of contact persons: Ordering, Technical, and Notification. All three contacts are mandatory.

- Ordering contact person: Person who created the order. Only one Ordering contact can be passed.
- Technical contact person: Person who Equinix can reach out to for technical clarifications. Only one Technical contact can be passed.
- Notification contact person: Person who will be notified of status updates. At least one notification contact must be provided. If notification contact is not available to pass, use ordering contact as notification contact.
userNameYesstringjohndoe

Equinix-registered username of contact person whose user profile is active or locked.

For Ordering contact, Equinix-registered username of contact person must be active.

For Notification and Technical contacts, Equinix-registered username of contact person can be active or locked.

If the Technical contact does not have the required Equinix-registered username, their full name, email address, work phone, and work phone timezone calling preference must be provided. It is recommended to also include the work phone country code. Additional information such as mobile phone country code, mobile phone number, and their availability to take calls on their mobile phone may also be provided.

With the exception of the mandatory contact information required for the Technical contact, any other additional contact information passed together with a 'userName' for Ordering, Technical, and Notification contacts will be ignored.

For example, when 'email' and 'workPhone' are passed with 'userName' for Notification contact, these contact details will be ignored.
nameConditionalstringJane Smith

Full name of contact person. This is free text input.

This is mandatory when the Technical contact does not have an active or locked Equinix-registered username.
emailConditionalstringjanesmith@corporation.com

Email information of contact person. This is free text input.

This is mandatory when the Technical contact does not have an active or locked Equinix-registered username.
workPhoneCountryCodeNostring+44

Country code for work phone number of contact person. This is free text input.

Example: +571
 

It is recommended to include the work phone country code.

workPhoneConditionalstring0148211111

Work phone number of contact person. This is free text input.

This is mandatory when the Technical contact does not have an active or locked Equinix-registered username.
workPhonePrefToCallConditionalstringANYTIMENEVER,
ANYTIME,
MY_BUSINESS_HOURS,
IBX_BUSINESS_HOURS,
BUSINESS_HOURS

Availability of Technical contact person to take calls. This is mandatory for the Technical contact.

Call Preference - Description
NEVER - Does not take calls.
ANYTIME - Takes calls anytime.
MY_BUSINESS_HOURS - Takes calls only during their business days from 9am to 5pm in their specified time zone. The body parameter 'workPhoneTimeZone' is mandatory to pass when this option is selected.
IBX_BUSINESS_HOURS - Takes calls only during the business hours of the IBX. This would be in the IBX time zone from Mondays to Fridays, 9am to 5pm.

Deprecated values
BUSINESS_HOURS - This value will be removed in the near future.
workPhoneTimeZoneConditionalstringEurope/LondonClick here for applicable values.

This indicates the specific timezone of the Technical contact's business hours that follows the IANA time zone database names format.

This is mandatory when 'MY_BUSINESS_HOURS' is selected for 'workPhonePrefToCall'.
mobilePhoneCountryCodeNostring+1

Country code for mobile phone number of contact person. This is free text input.

Example: +571
mobilePhoneNostring0123456789 Mobile phone number of contact person. This is free text input.
mobilePhonePrefToCallNostringMY_BUSINESS_HOURSNEVER,
ANYTIME,
MY_BUSINESS_HOURS,
IBX_BUSINESS_HOURS,
BUSINESS_HOURS

Availability of Technical contact person to take calls on their mobile phone.

For description of applicable values, refer to description of body parameter 'workPhonePrefToCall'.
mobilePhoneTimeZoneConditionalstringEurope/LondonClick here for applicable values.

This indicates the specific timezone of the Technical contact's business hours that follows the IANA time zone database names format.

This should be included when 'MY_BUSINESS_HOURS' is selected for 'mobilePhonePrefToCall' and the mobile phone timezone differs from the work phone timezone.
If 'mobilePhoneTimeZone' is not included, it will be assumed that both the work phone and mobile phone timezones are the same.
{
"OrderNumber": "1-2457908765329"
}

The description of the response payload is as follows:

Field nameTypeExampleDescription
OrderNumberstring1-2457908765329The order number created after order is submitted.
 

If you get “Insufficient permissions” error, contact your Master Administrator.