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.


Work Visit Order

A Work Visit can be scheduled by users with Work Visit permissions for the related Equinix Data Center locations. Work Visits can grant up to 50 visitors access to the Equinix Data Centers for a duration of up to two weeks. These Work Visits can be organized together with or without an Equinix cage escort to open your private cage. If the on-site visit will exceed two weeks, Security Access must be set up for the visitors.

 

See Integrate with Equinix Messaging Gateway for links on how to use the EMG Templates for ordering.

The following screenshots show sample message requests to create, update, and cancel work visit in EMG.

Create Work Visit

Sample Request:

{
"Task": {
"Id": "bf9f2707-d612-4d63-9958-4c8b1fcf3cc0",
"Source": "3e095d30-40ff-11e9-8959-5be078353003",
"Verb": "Create",
"Resource": "WorkVisit",
"ContentType": "application/json",
"Version": "1.0",
"Body": {
"RequestorId": "123456789",
"RequestorIdUnique": false,
"Location": [
"LD8:00:000000",
"LD8:00:000001:0501",
"LD8:00:000002:0502",
"LD8:00:000003:0503"
],
"CustomerContact": "demo@equinix.com",
"Description": "Create Work Visit Order",
"Attachments": [
{
"Name": "samplepicture.jpeg",
"Url": "https://eqixazurestorage.blob.core.windows.net/file-download-blob/samplepicture.jpeg"
}
],
"ServiceDetails": {
"Visitors": [
{
"LastName": "John",
"FirstName": "Doe",
"CompanyName": "Demo"
}
],
"StartDateTime": "2020-05-22T00:05:00.000Z",
"EndDateTime": "2020-05-26T14:00:00Z",
"OpenCabinet": true
}
}
},
"Signature": "RWNobwp7CiAgIklkIjogIjM1MGFlZjcwLTc4MWItMTFlOSogIH0KfQ=="
}

The description of the create request schema is as follows:

NameMandatoryTypeApplicable Value(s)Description
TaskYesObjectThe task object comprises a common set of header attributes and a unique set of body attributes. The header attributes are applicable to all order types, whereas the body attributes vary for each order.
IDYesString (Guid)The unique identifier of the message. Customers must ensure to send a unique value for each message.
SourceYesString (Guid)A unique value to identify the message sender. This value will be shared with the customer during the onboarding process.
VerbYesStringCreateIndicates the action to be performed.
ResourceYesStringWorkVisitIndicates the order type.
ContentTypeNoStringapplication/json
VersionYesString1.0The version of the request and response schema.
BodyYesObjectAn object containing the details of the order. The attributes within the object will vary based on the resource and verb.
RequestorIdConditionalStringThe customer's reference number for this WorkVisit order. This attribute is only mandatory if RequestorIdUnique is true.
RequestorIdUniqueYesBooleantrue
false
Indicates whether the RequestorId is unique. The default value for this attribute is false.
The RequestorId should not be referenced in any other ticket and if referenced this operation will fail with a "400 - Bad Request".
This field cannot be NULL.
LocationYesarray[String]

The location of the cage(s) and cabinet(s) where the Work Visit order is requested.

All the Cages & Cabinets must belong to same the Equinix DataCenter
CustomerContactYesStringThe username or email address of the user registered with Equinix Customer Portal.
DescriptionNoString

A detailed description of the scope of work.
This field can only be up to 3800 characters long.

Description > 3800 characters will be added as an attachment to the order being submitted.
ServiceDetailsYesObjectService details consist of visitors information and additional Work Visit details.
StartDateTimeYesStringRequested start date and time of the Work Visit in ISO format.
EndDateTimeYesStringRequested end date and time of the Work Visit in ISO format.
VisitorsYesarray[String]

Visitors information that includes the Equinix- registered username of visitors (if they are active users under your organization) or the visitor first name, visitor last name, and visitor company name.

The maximum number of visitors allowed in one Work Visit is 50.
UserNameYes if FirstName, LastName & CompanyName = nullStringThe username of the user registered with Equinix Customer Portal.
FirstNameYes if UserName = nullStringFirst name of the non-registered user with Equinix Customer Portal.
LastNameYes if UserName = nullStringLast name of the non-registered user with Equinix Customer Portal.
CompanyNameYes if UserName = nullStringCompany name of the non-registered user with Equinix Customer Portal.
EmailNoStringEmail address of the non-registered user with Equinix Customer Portal.
MobilePhoneCountryCodeYes if MobilePhone != nullStringCountry Code of Mobile Phone of the non-registered user with Equinix Customer Portal.. Should be within [1…6] characters
Supported Regex: ^\+[0-9]{1,6}$
MobilePhoneNoStringMobile Phone of the non-registered user with Equinix Customer Portal Should be within [1…40] characters
Supported Regex: ^[0-9\.\-() ]{2,40}(?:(x|ext)[0-9\.\-() ]{1,10})?$
OpenCabinetNoBooleantrue
false (default)
Indicates whether an Equinix staff should open the cabinet for the visitor.
SupervisionRequiredNoBooleantrue
false (default)
Indicates if an Equinix staff should provide any additional supervision, assistance, or access.
AttachmentsNoArray [{ String,  String }]

Includes all attachments for supporting this request.

Expected Value: [{"Name":<Attachment_Name>, "Url":<Attachment_URL>}] OR  [{"Name":<Attachment_Name>, "Id":<Attachment_Id>}]

URL - URL to download the attachment
Id - Attachment Id returned by Equinix Attachment API (https://api.equinix.com/v1/attachments/file

5 files with 5MB size each

Supported filetypes: .bmp,.jpeg,.jpg,.gif,.png,.tif,.txt,.doc,.docx,.xls,.tiff,.xlsx,.ppt,.pptx,.pdf,.vsd,.pps,.ppsx
AdditionalContactsNoArray [{ Object}]Can be used to overide details of TECHNICAL CONTACT sent as part of "CustomerContact" attribute.  You can send details of non-registered contacts with Equinix Customer Portal
ContactTypeYesString (Enum)Type of Contact. Expected value : TECHNIICAL
NameYesStringFull Name of the Contact, Eg. 'First_Name' + 'Last_Name'
Supported Regex: ^[\s.]([^\s.][\s.]){0,100}$
EmailYesStringValid email address of the contact. Should be <=100 characters
Supported Regex: ^(([^<>()\[\]\.,;:\s@"]+(\.[^<>()\[\]\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$
WorkPhoneCountryCodeYesStringCountry Code of Primary Phone of the contact. Should be within [1…6] characters
Supported Regex: ^\+[0-9]{1,6}$
WorkPhoneYesStringPrimary Phone of the contact. Should be within [1…40] characters
Supported Regex: ^[0-9\.\-() ]{2,40}(?:(x|ext)[0-9\.\-() ]{1,10})?$
WorkPhonePrefToCallNoStringExpected values are NEVER, ANYTIME, MY_BUSINESS_HOURS,IBX_BUSINESS_HOURS. Defauted to 'ANYTIME'
WorkPhoneTimeZoneNoStringExpected values are "Atlantic/Canary" "Europe/Dublin" "Europe/London" "Europe/Lisbon" "Africa/Algiers" "Europe/Berlin" "Europe/Amsterdam" "Europe/Copenhagen" "Europe/Madrid" "Europe/Paris" "Europe/Stockholm" "Europe/Zurich" "Europe/Warsaw" "Africa/Cairo" "Africa/Johannesburg" "Europe/Sofia" "Africa/Nairobi" "Asia/Jerusalem" "Europe/Istanbul" "Europe/Moscow" "Asia/Riyadh" "Asia/Dubai" "Asia/Kabul" "Asia/Tehran" "Asia/Karachi" "Indian/Maldives" "Asia/Kolkata" "Asia/Kathmandu" "Asia/Omsk" "Asia/Rangoon" "Asia/Jakarta" "Asia/Ho_Chi_Minh" "Asia/Brunei" "Asia/Hong_Kong" "Asia/Kuala_Lumpur" "Asia/Manila" "Asia/Shanghai" "Asia/Singapore" "Asia/Taipei" "Australia/Perth" "Asia/Seoul" "Asia/Tokyo" "Australia/Darwin" "Australia/Brisbane" "Pacific/Guam" "Australia/Adelaide" "Australia/Sydney" "Pacific/Auckland" "Pacific/Chatham" "Indian/Christmas" "America/Scoresbysund" "Atlantic/South_Georgia" "America/Sao_Paulo" "America/Detroit" "America/New_York" "America/Puerto_Rico" "America/Toronto" "America/Bogota" "America/Chicago" "America/Winnipeg" "America/Denver" "America/Edmonton" "America/Mexico_City" "America/Los_Angeles" "America/Vancouver" "America/Phoenix" "America/Anchorage" "Pacific/Gambier" "Pacific/Marquesas" "Pacific/Honolulu" "Pacific/Fiji" "Asia/Muscat" "America/Argentina/Buenos_Aires" "America/Caracas" "Etc/GMT+12" "UTC" "GMT" "America/Santiago" "America/St_Johns" "Asia/Almaty" "Asia/Bankgkok" "Asia/Calcutta" "Asia/Magadan" "Asia/Yekaterinburg" "Australia/Eucla" "Australia/Lord_Howe" "Europe/Bratislava" "Europe/Brussels" "Europe/Prague" "Europe/Rome" "Pacific/Kiritimati" "Pacific/Midway" "Pacific/Tongatapu"
MobilePhoneCountryCodeNoStringCountry Code of Mobile Phone of the contact. Should be within [1…6] characters
Supported Regex: ^\+[0-9]{1,6}$
MobilePhoneNoStringMobile Phone of the contact. Should be within [1…40] characters
Supported Regex: ^[0-9\.\-() ]{2,40}(?:(x|ext)[0-9\.\-() ]{1,10})?$
MobilePhonePrefToCallNoStringExpected values are NEVER, ANYTIME, MY_BUSINESS_HOURS,IBX_BUSINESS_HOURS. Defauted to 'ANYTIME'
MobilePhoneTimeZoneNoStringPlease refer to 'WorkPhoneTimeZone' for expected values
SignatureYesStringBase64 encoded signature.

Sample Response:

{
"Task": "{\"Id\":\"69352cff-4f00-4c42-9dce-a1b5e5ecc40b\",\"Source\":\"3e095d30-40ff-11e9-8959-5be078353003\",\"Verb\":\"Ack\",\"Resource\":\"WorkVisit\",\"ContentType\":\"application/json\",\"CreateTimeUTC\":\"2019-12-13T15:45:04.553Z\",\"Version\":\"1.0\",\"OriginationId\":\"bf9f2707-d612-4d63-9958-4c8b1fcf3cc0\",\"OriginationVerb\":\"Create\",\"Body\":{\"RequestorId\":\"123456789\",\"ServicerId\": [{\"Locations\":[\"LD5:01:001MC2\", \"LD5:01:001MC3\"], \"ServicerId\": \"1-207846792176\"},{\"Locations\":[\"LD5:01:001CA3\"],\"ServicerId\": \"1-207846792200\"}],\"StatusCode\":201,\"Description\":\"Equinix WorkVisit: 1-199912345789 Was created in reference to : 123456789\",\"Object\":null}}",
"Signature": "Jm2BpG/5ll6s3v0w3WWMULkRXsIEPog1e5AuYWT/kF3qW+hhNAFDZGCJ5lNmUT4Y3jUFid/3yb3diXK+Tr0hm7zwGLMDyi/mRwlc7LxYKRtbhHgHxWviQgTsLrreKlLuOJHbl81bCLxK2UEPrfRXuAOUbMyOT2mzBhidiCFg=="
}

The description of the create response schema is as follows:

NameTypeDescription
TaskObjectThe task object comprises a common set of header attributes and a unique set of body attributes. The header attributes are applicable to all order types, whereas the body attributes vary for each order.
IDString (Guid)The unique identifier of the message. Customers must ensure to send a unique value for each message.
SourceString (Guid)A unique value to identify the message sender. This value will be shared with the customer during the onboarding process.
VerbStringIndicates the action to be performed. The verb for response messages is "Ack".
ResourceStringIndicates the order type.
ContentTypeString
CreateTimeUTCStringIndicates the date and time at which the WorkVisit request was created at Equinix's end.
VersionStringThe version of the request and response schema.
BodyObjectAn object containing the details of the order. The attributes within the object will vary based on the resource and verb.
RequestorIdStringThe customer's reference number for this WorkVisit order.
ServicerIdarray[objects]

Indicates the WorkVisit order ID(s) generated by Equinix after the order(s) was submitted.

If all Cages/Cabinets provided in the WorkVisit request belong to the same customer account number then Equinix will send one order#.

If Cages/Cabinets provided in the WorkVisit request belong to more than one customer account number then Equinix will send more than one order#.
StatusCodeStringThe HTTP status code of the request.
DescriptionString

Additional details of the order created

Ex: "Equinix WorkVisit: 1-199912345789 Was created in reference to : 123456789"
SignatureStringBase64 encoded signature.

Update Work Visit

Sample Request:

{
"Task": {
"Id": "2352c576-fab3-4856-a431-0a4b55a2babe",
"Source": "3e095d30-40ff-11e9-8959-5be078353003",
"Verb": "Update",
"Resource": "WorkVisit",
"ContentType": "application/json",
"Version": "1.0",
"Body": {
"ServicerId": "1-199912345789",
"Attachments": [
{
"Name": "samplepicture.jpeg",
"Url": "https://eqixazurestorage.blob.core.windows.net/file-download-blob/samplepicture.jpeg"
}
],
"Description": "Update WorkVisit Order"
}
},
"Signature": "RWNobwp7CiAgIklkIjogIjM1MGFlZjcwLTc4MWItMTFlOSogIH0KfQ=="
}

The description of the update request schema is as follows:

NameMandatoryTypeApplicable ValuesDescription
TaskYesObjectThe task object comprises a common set of header attributes and a unique set of body attributes. The header attributes are applicable to all order types, whereas the body attributes vary for each order.
IDYesString (Guid)The unique identifier of the message. Customers must ensure to send a unique value for each message.
SourceYesString (Guid)A unique value to identify the message sender. This value will be shared with the customer during the onboarding process.
VerbYesStringUpdateIndicates the action to be performed.
ResourceYesStringWorkVisitIndicates the order type. EMG currently supports 4 order types.
ContentTypeNoStringapplication/json
VersionYesString1.0The version of the request and response schema.
BodyYesObjectAn object containing the details of the order. The attributes within the object will vary based on the resource and verb.
RequestorIdConditionalStringThe customer's reference number for this Work Visit request. This attribute is only mandatory if RequestorIdUnique is true.
ServicerIdConditionalStringIndicates the Work Visit order ID generated by Equinix after the order was submitted.
DescriptionYesStringA detailed description of the scope of work. 
This field can only be up to 3800 characters long.
ServiceDetailsNoObjectService details consist of visitors information and additional Work Visit details.
StartDateTimeNoStringRequested start date and time of the Work Visit in ISO format.
EndDateTimeNoStringRequested end date and time of the Work Visit in ISO format.
VisitorsNoarray[String]

Visitors information that includes the Equinix- registered username of visitors (if they are active users under your organization) or the visitor first name, visitor last name, and visitor company name.

The maximum number of visitors allowed in one work visit is 50.
UserNameYes if FirstName, LastName & CompanyName = nullStringThe username of the user registered with Equinix Customer Portal.
FirstNameYes if UserName = nullStringFirst name of the non-registered user with Equinix Customer Portal.
LastNameYes if UserName = nullStringLast name of the non-registered user with Equinix Customer Portal.
CompanyNameYes if UserName = nullStringCompany name of the non-registered user with Equinix Customer Portal.
EmailNoStringEmail address of the non-registered user with Equinix Customer Portal.
MobilePhoneCountryCodeYes if MobilePhone != nullStringCountry Code of Mobile Phone of the non-registered user with Equinix Customer Portal.. Should be within [1…6] characters
Supported Regex: ^\+[0-9]{1,6}$
MobilePhoneNoStringMobile Phone of the non-registered user with Equinix Customer Portal Should be within [1…40] characters
Supported Regex: ^[0-9\.\-() ]{2,40}(?:(x|ext)[0-9\.\-() ]{1,10})?$
OpenCabinetNoBooleantrue
false (default)
Indicates whether an Equinix staff should open the cabinet for the visitor.
SupervisionRequiredNoBooleantrue
false (default)
Indicates if an Equinix staff should provide any additional supervision, assistance, or access.
AttachmentsNoArray [{ String,  String }]

Includes all attachments for supporting this request.
Expected Value: [{"Name":<Attachment_Name>, "Url":<Attachment_URL>}]

5 files with 5MB size each

Supported filetypes: .bmp,.jpeg,.jpg,.gif,.png,.tif,.txt,.doc,.docx,.xls,.tiff,.xlsx,.ppt,.pptx,.pdf,.vsd,.pps,.ppsx.
SignatureYesStringBase64 encoded signature.

Sample Response:

{
"Task": "{\"Id\":\"69352cff-4f00-4c42-9dce-a1b5e5ecc40b\",\"Source\":\"3e095d30-40ff-11e9-8959-5be078353003\",\"Verb\":\"Ack\",\"Resource\":\"WorkVisit\",\"ContentType\":\"application/json\",\"CreateTimeUTC\":\"2019-12-13T15:45:04.553Z\",\"Version\":\"1.0\",\"OriginationId\":\"bf9f2707-d612-4d63-9958-4c8b1fcf3cc0\",\"OriginationVerb\":\"Update\",\"Body\":{\"RequestorId\":\"123456789\",\"ServicerId\":\"1-199912345789\",\"StatusCode\":201,\"Description\":\"Equinix WorkVisit: 1-199912345789 was updated\",\"Object\":null}}",
"Signature": "Jm2BpG/5ll6s3v0w3WWMULkRXsIEPog1e5AuYWT/kF3qW+hhNAFDZGCJ5lNmUT4Y3jUFid/3yb3diXK+Tr0hm7zwGLMDyi/mRwlc7LxYKRtbhHgHxWviQgTsLrreKlLuOJHbl81bCLxK2UEPrfRXuAOUbMyOT2mzBhidiCFg=="
}

The description of the update response schema is as follows:

NameTypeDescription
TaskObjectThe task object comprises a common set of header attributes and a unique set of body attributes. The header attributes are applicable to all order types, whereas the body attributes vary for each order.
IDString (Guid)The unique identifier of the message. Customers must ensure to send a unique value for each message.
SourceString (Guid)A unique value to identify the message sender. This value will be shared with the customer during the onboarding process.
VerbStringIndicates the action to be performed. The verb for response messages is "Ack".
ResourceStringIndicates the order type.
ContentTypeString
CreateTimeUTCIndicates the date and time at which the Work Visit order was updated at Equinix's end.
VersionStringThe version of the request and response schema.
BodyObjectAn object containing the details of the order. The attributes within the object will vary based on the resource and verb.
RequestorIdStringThe customer's reference number for this WorkVisit request.
ServicerIdStringIndicates the Work Visit ID generated by Equinix after the order was submitted.
StatusCodeStringThe HTTP status code of the request.
DescriptionString

Additional details of the order updated.

Ex: "Equinix WorkVisit: 1-199912345789 was updated"
SignatureStringBase64 encoded signature.

Cancel Work Visit

Sample Request:

{
"Task": {
"Id": "63d7a57b-848a-4335-ab47-6c1aaee71b04",
"Source": "3e095d30-40ff-11e9-8959-5be078353003",
"Verb": "Update",
"Resource": "WorkVisit",
"ContentType": "application/json",
"Version": "1.0",
"Body": {
"State": "Cancelled",
"ServicerId": "1-199912345789",
"Description": "Cancel WorkVisit Order"
}
},
"Signature": "RWNobwp7CiAgIklkIjogIjM1MGFlZjcwLTc4MWItMTFlOSogIH0KfQ=="
}

The description of the cancel request schema is as follows:

NameMandatoryTypeApplicable ValuesDescription
TaskYesObjectThe task object comprises a common set of header attributes and a unique set of body attributes. The header attributes are applicable to all order types, whereas the body attributes vary for each order.
IDYesString (Guid)The unique identifier of the message. Customers must ensure to send a unique value for each message.
SourceYesString (Guid)A unique value to identify the message sender. This value will be shared with the customer during the onboarding process.
VerbYesStringUpdateIndicates the action to be performed.
ResourceYesStringWorkVisitIndicates the order type. EMG currently supports 4 order types.
ContentTypeNoStringapplication/json
VersionYesString1.0The version of the request and response schema.
OriginationIdNoString (Guid)The ID of the origination message, the value will be Null for an initial message.
OriginationVerbNoStringThe action to be performed by Equinix, the value will be Null for an initial message.
BodyYesObjectAn object containing the details of the order. The attributes within the object will vary based on the resource and verb.
StateYesStringCancelledThis attribute is only valid when the verb is 'Update' and must only be used when cancelling an order.
RequestorIdConditionalStringThe customer's reference number for this WorkVisit request. This attribute is only mandatory if ServicerId is not provided.
ServicerIdConditionalStringIndicates the WorkVisit order ID generated by Equinix after the order was submitted. This attribute is only mandatory if RequestorId is not provided.
DescriptionYesStringA detailed description of the scope of work. 
This field can only be up to 3800 characters long.
SignatureYesStringBase64 encoded signature.

Sample Response:

{
"Task": "{\"Id\":\"2f3b9c69-1446-46fa-b5c7-040421029c88\",\"Source\":\"3e095d30-40ff-11e9-8959-5be078353003\",\"Verb\":\"Ack\",\"Resource\":\"WorkVisit\",\"ContentType\":\"application/json\",\"CreateTimeUTC\":\"2019-12-13T15:53:33.084Z\",\"Version\":\"1.0\",\"OriginationId\":\"63d7a57b-848a-4335-ab47-6c1aaee71b04\",\"OriginationVerb\":\"Update\",\"Body\":{\"ServicerId\":\"1-199912345789\",\"RequestorId\":\"123456789\",\"StatusCode\":200,\"Description\":\"Equinix workvisit: 1-199912345789 Was Cancelled\",\"Object\":[{\"Name\":\"cancelticket.jpeg\",\"Id\":\"f1797cd8-4508-434d-9998-3cf4545c7ca0\"}]}}",
"Signature": "Jm2BpG/5ll6s3v0w3WWMULkRXsIEPog1e5AuYWT/kF3qW+hhNAFDZGCJ5lNmUT4Y3jUFid/3yb3diXK+Tr0hm7zwGLMDyi/mRwlc7LxYKRtbhHgHxWviQgTsLrreKlLuOJHbl81bCLxK2UEPrfRXuAOUbMyOT2mzBhidiCFg=="
}

The description of the cancel response schema is as follows:

NameTypeDescription
TaskObjectThe task object comprises a common set of header attributes and a unique set of body attributes. The header attributes are applicable to all order types, whereas the body attributes vary for each order.
IDString (Guid)The unique identifier of the message. Customers must ensure to send a unique value for each message.
SourceString (Guid)A unique value to identify the message sender. This value will be shared with the customer during the onboarding process.
VerbStringIndicates the action to be performed. The verb for response messages is "Ack".
ResourceStringIndicates the order type.
ContentTypeString
CreateTimeUTCIndicates the date and time at which the WorkVisit order was cancelled at Equinix's end.
VersionStringThe version of the request and response schema.
OriginationIdString (Guid)The ID of the origination message, the value will be Null for an initial message.
OriginationVerbStringThe action to be performed by Equinix, the value will be Null for an initial message.
BodyObjectAn object containing the details of the order. The attributes within the object will vary based on the resource and verb.
RequestorIdStringThe customer's reference number for this Work Visit order.
ServicerIdStringIndicates the WorkVisit order ID created after the order was submitted.
StatusCodeStringThe HTTP status code of the request.
DescriptionString

Additional details of the order cancelled.

Ex: "Equinix WorkVisit: 1-199912345789 Was Cancelled"
SignatureStringBase64 encoded signature.

Sample Outgoing Notification

For more information, refer to Order Notifications - Work Visit.