openapi: 3.0.1
info:
title: Equinix API Authentication Smarthands API
description: 'Equinix APIs use the OAuth 2.0 for authentication and authorization. Equinix supports the resource owner password and the client credentials flow.
To begin, obtain OAuth 2.0 client credentials from the Equinix Developer Console under "My Apps". Then your client application requests an access token from the Equinix API Authorization endpoint, extracts the access_token from the response, and sends the Bearer token to the API that you want to access'
termsOfService: https://www.equinix.com/about/legal/terms
contact:
name: Equinix API Support
url: https://docs.equinix.com/api-support.htm
version: '1.2'
servers:
- url: https://api.equinix.com
tags:
- name: Smarthands
paths:
/v1/orders/smarthands/equipmentInstall:
parameters:
- $ref: '#/parameters/authorizationHeader'
post:
operationId: handleSmartHandOrder
summary: Request equipment installation per your specifications by an IBX Technician
tags:
- Smarthands
description: Request equipment installation per your specifications by an IBX Technician
parameters:
- name: body
in: body
schema:
$ref: '#/definitions/equipmentInstallRequest'
responses:
'201':
$ref: '#/definitions/smarthandResponse'
'400':
description: Http Bad Request
schema:
$ref: '#/definitions/genericError'
examples:
application/json:
errors:
- code: EQX-123-1234
fields:
- xpath
message: Error message.
messageParams:
- Message place holder params
ticketId: '190619221547671'
'403':
description: Http Authorization Error
schema:
$ref: '#/definitions/genericError'
examples:
application/json:
errors:
- code: EQX-123-403
message: Insufficient permission to access the resource or invoke the request.
ticketId: '190619221547672'
'500':
description: Http Internal Server Error
schema:
$ref: '#/definitions/genericError'
examples:
application/json:
errors:
- code: EQX-123-500
message: The system had encountered an unexpected problem and we are tracking it with error code.
ticketId: '190619221547673'
/v1/orders/smarthands/shipmentUnpack:
parameters:
- $ref: '#/parameters/authorizationHeader'
post:
operationId: handleSmartHandShipmentUnpackOrder
summary: Request inbound shipment unpacking and packaging disposal.
tags:
- Smarthands
description: This API is used to request inbound shipment unpacking and packaging disposal.
parameters:
- name: body
in: body
schema:
$ref: '#/definitions/shipmentUnpackRequest'
responses:
'201':
$ref: '#/definitions/smarthandResponse'
'400':
description: Http Bad Request
schema:
$ref: '#/definitions/genericError'
examples:
application/json:
errors:
- code: EQX-123-1234
fields:
- xpath
message: Error message.
messageParams:
- Message place holder params
ticketId: '190619221547671'
'403':
description: Http Authorization Error
schema:
$ref: '#/definitions/genericError'
examples:
application/json:
errors:
- code: EQX-123-403
message: Insufficient permission to access the resource or invoke the request.
ticketId: '190619221547672'
'500':
description: Http Internal Server Error
schema:
$ref: '#/definitions/genericError'
examples:
application/json:
errors:
- code: EQX-123-500
message: The system had encountered an unexpected problem and we are tracking it with error code.
ticketId: '190619221547673'
/v1/orders/smarthands/moveJumperCable:
parameters:
- $ref: '#/parameters/authorizationHeader'
post:
operationId: handleSmartHandMoveJumperCableOrder
summary: This API is used to request a patch cable to be moved between devices.
tags:
- Smarthands
description: This API is used to request a patch cable to be moved between devices.
parameters:
- name: body
in: body
schema:
$ref: '#/definitions/moveJumperCableRequest'
responses:
'201':
$ref: '#/definitions/smarthandResponse'
'400':
description: Http Bad Request
schema:
$ref: '#/definitions/genericError'
examples:
application/json:
errors:
- code: EQX-123-1234
fields:
- xpath
message: Error message.
messageParams:
- Message place holder params
ticketId: '190619221547671'
'403':
description: Http Authorization Error
schema:
$ref: '#/definitions/genericError'
examples:
application/json:
errors:
- code: EQX-123-403
message: Insufficient permission to access the resource or invoke the request.
ticketId: '190619221547672'
'500':
description: Http Internal Server Error
schema:
$ref: '#/definitions/genericError'
examples:
application/json:
errors:
- code: EQX-123-500
message: The system had encountered an unexpected problem and we are tracking it with error code.
ticketId: '190619221547673'
/v1/orders/smarthands/cageEscort:
parameters:
- $ref: '#/parameters/authorizationHeader'
post:
operationId: handleSmartHandCageEscortOrder
summary: Request a patch cable to be moved between devices
tags:
- Smarthands
description: This API is used to request a patch cable to be moved between devices
parameters:
- name: body
in: body
schema:
$ref: '#/definitions/cageEscortRequest'
responses:
'201':
$ref: '#/definitions/smarthandResponse'
'400':
description: Http Bad Request
schema:
$ref: '#/definitions/genericError'
examples:
application/json:
errors:
- code: EQX-123-1234
fields:
- xpath
message: Error message.
messageParams:
- Message place holder params
ticketId: '190619221547671'
'403':
description: Http Authorization Error
schema:
$ref: '#/definitions/genericError'
examples:
application/json:
errors:
- code: EQX-123-403
message: Insufficient permission to access the resource or invoke the request.
ticketId: '190619221547672'
'500':
description: Http Internal Server Error
schema:
$ref: '#/definitions/genericError'
examples:
application/json:
errors:
- code: EQX-123-500
message: The system had encountered an unexpected problem and we are tracking it with error code.
ticketId: '190619221547673'
/v1/orders/smarthands/locatePackage:
parameters:
- $ref: '#/parameters/authorizationHeader'
post:
operationId: handleSmartHandLocatePackageOrder
summary: Get the location of your package(s) at an IBX.
tags:
- Smarthands
description: This API is used to get the location of your package(s) at an IBX.
parameters:
- name: body
in: body
schema:
$ref: '#/definitions/locatePackageRequest'
responses:
'201':
$ref: '#/definitions/smarthandResponse'
'400':
description: Http Bad Request
schema:
$ref: '#/definitions/genericError'
examples:
application/json:
errors:
- code: EQX-123-1234
fields:
- xpath
message: Error message.
messageParams:
- Message place holder params
ticketId: '190619221547671'
'403':
description: Http Authorization Error
schema:
$ref: '#/definitions/genericError'
examples:
application/json:
errors:
- code: EQX-123-403
message: Insufficient permission to access the resource or invoke the request.
ticketId: '190619221547672'
'500':
description: Http Internal Server Error
schema:
$ref: '#/definitions/genericError'
examples:
application/json:
errors:
- code: EQX-123-500
message: The system had encountered an unexpected problem and we are tracking it with error code.
ticketId: '190619221547673'
/v1/orders/smarthands/picturesDocument:
parameters:
- $ref: '#/parameters/authorizationHeader'
post:
operationId: handleSmartHandPicturesDocumentOrder
summary: Request an IBX Technician to provide cage-related pictures or documentation.
tags:
- Smarthands
description: Request an IBX Technician to provide cage-related pictures or documentation.
parameters:
- name: body
in: body
schema:
$ref: '#/definitions/picturesDocumentRequest'
responses:
'201':
$ref: '#/definitions/smarthandResponse'
'400':
description: Http Bad Request
schema:
$ref: '#/definitions/genericError'
examples:
application/json:
errors:
- code: EQX-123-1234
fields:
- xpath
message: Error message.
messageParams:
- Message place holder params
ticketId: '190619221547671'
'403':
description: Http Authorization Error
schema:
$ref: '#/definitions/genericError'
examples:
application/json:
errors:
- code: EQX-123-403
message: Insufficient permission to access the resource or invoke the request.
ticketId: '190619221547672'
'500':
description: Http Internal Server Error
schema:
$ref: '#/definitions/genericError'
examples:
application/json:
errors:
- code: EQX-123-500
message: The system had encountered an unexpected problem and we are tracking it with error code.
ticketId: '190619221547673'
/v1/orders/smarthands/patchCableInstall:
parameters:
- $ref: '#/parameters/authorizationHeader'
post:
operationId: handleSmartHandPatchCableInstallOrder
summary: Request installation of a cross connect patch cable by an IBX Technician.
tags:
- Smarthands
description: Request installation of a cross connect patch cable by an IBX Technician.
parameters:
- name: body
in: body
schema:
$ref: '#/definitions/patchCableInstallRequest'
responses:
'201':
$ref: '#/definitions/smarthandResponse'
'400':
description: Http Bad Request
schema:
$ref: '#/definitions/genericError'
examples:
application/json:
errors:
- code: EQX-123-1234
fields:
- xpath
message: Error message.
messageParams:
- Message place holder params
ticketId: '190619221547671'
'403':
description: Http Authorization Error
schema:
$ref: '#/definitions/genericError'
examples:
application/json:
errors:
- code: EQX-123-403
message: Insufficient permission to access the resource or invoke the request.
ticketId: '190619221547672'
'500':
description: Http Internal Server Error
schema:
$ref: '#/definitions/genericError'
examples:
application/json:
errors:
- code: EQX-123-500
message: The system had encountered an unexpected problem and we are tracking it with error code.
ticketId: '190619221547673'
/v1/orders/smarthands/patchCableRemoval:
parameters:
- $ref: '#/parameters/authorizationHeader'
post:
operationId: handleSmartHandPatchCableRemovalOrder
summary: Request removal of a cross connect cable by an IBX Technician.
tags:
- Smarthands
description: Request removal of a cross connect cable by an IBX Technician.
parameters:
- name: body
in: body
schema:
$ref: '#/definitions/patchCableRemovalRequest'
responses:
'201':
$ref: '#/definitions/smarthandResponse'
'400':
description: Http Bad Request
schema:
$ref: '#/definitions/genericError'
examples:
application/json:
errors:
- code: EQX-123-1234
fields:
- xpath
message: Error message.
messageParams:
- Message place holder params
ticketId: '190619221547671'
'403':
description: Http Authorization Error
schema:
$ref: '#/definitions/genericError'
examples:
application/json:
errors:
- code: EQX-123-403
message: Insufficient permission to access the resource or invoke the request.
ticketId: '190619221547672'
'500':
description: Http Internal Server Error
schema:
$ref: '#/definitions/genericError'
examples:
application/json:
errors:
- code: EQX-123-500
message: The system had encountered an unexpected problem and we are tracking it with error code.
ticketId: '190619221547673'
/v1/orders/smarthands/cageCleanup:
parameters:
- $ref: '#/parameters/authorizationHeader'
post:
operationId: handleSmartHandCageCleanupOrder
summary: Request trash removal or cage cleanup
tags:
- Smarthands
description: This API is used to request trash removal or cage cleanup
parameters:
- name: body
in: body
schema:
$ref: '#/definitions/cageCleanupRequest'
responses:
'201':
$ref: '#/definitions/smarthandResponse'
'400':
description: Http Bad Request
schema:
$ref: '#/definitions/genericError'
examples:
application/json:
errors:
- code: EQX-123-1234
fields:
- xpath
message: Error message.
messageParams:
- Message place holder params
ticketId: '190619221547671'
'403':
description: Http Authorization Error
schema:
$ref: '#/definitions/genericError'
examples:
application/json:
errors:
- code: EQX-123-403
message: Insufficient permission to access the resource or invoke the request.
ticketId: '190619221547672'
'500':
description: Http Internal Server Error
schema:
$ref: '#/definitions/genericError'
examples:
application/json:
errors:
- code: EQX-123-500
message: The system had encountered an unexpected problem and we are tracking it with error code.
ticketId: '190619221547673'
/v1/orders/smarthands/cableRequest:
parameters:
- $ref: '#/parameters/authorizationHeader'
post:
operationId: handleSmartHandCableRequestOrder
summary: This API is used to request cables per your specifications for your equipment.
tags:
- Smarthands
description: This API is used to request cables per your specifications for your equipment.
parameters:
- name: body
in: body
schema:
$ref: '#/definitions/cableRequestRequest'
responses:
'201':
$ref: '#/definitions/smarthandResponse'
'400':
description: Http Bad Request
schema:
$ref: '#/definitions/genericError'
examples:
application/json:
errors:
- code: EQX-123-1234
fields:
- xpath
message: Error message.
messageParams:
- Message place holder params
ticketId: '190619221547671'
'403':
description: Http Authorization Error
schema:
$ref: '#/definitions/genericError'
examples:
application/json:
errors:
- code: EQX-123-403
message: Insufficient permission to access the resource or invoke the request.
ticketId: '190619221547672'
'500':
description: Http Internal Server Error
schema:
$ref: '#/definitions/genericError'
examples:
application/json:
errors:
- code: EQX-123-500
message: The system had encountered an unexpected problem and we are tracking it with error code.
ticketId: '190619221547673'
/v1/orders/smarthands/runJumperCable:
parameters:
- $ref: '#/parameters/authorizationHeader'
post:
operationId: handleSmartHandRunJumperCableOrder
summary: This API is used to request a jumper cable to be ran between devices.
tags:
- Smarthands
description: This API is used to request a jumper cable to be ran between devices.
parameters:
- name: body
in: body
schema:
$ref: '#/definitions/runJumperCableRequest'
responses:
'201':
$ref: '#/definitions/smarthandResponse'
'400':
description: Http Bad Request
schema:
$ref: '#/definitions/genericError'
examples:
application/json:
errors:
- code: EQX-123-1234
fields:
- xpath
message: Error message.
messageParams:
- Message place holder params
ticketId: '190619221547671'
'403':
description: Http Authorization Error
schema:
$ref: '#/definitions/genericError'
examples:
application/json:
errors:
- code: EQX-123-403
message: Insufficient permission to access the resource or invoke the request.
ticketId: '190619221547672'
'500':
description: Http Internal Server Error
schema:
$ref: '#/definitions/genericError'
examples:
application/json:
errors:
- code: EQX-123-500
message: The system had encountered an unexpected problem and we are tracking it with error code.
ticketId: '190619221547673'
/v1/orders/smarthands/other:
parameters:
- $ref: '#/parameters/authorizationHeader'
post:
operationId: handleSmartHandOthersOrder
summary: Request a Smart Hands order not listed in catalogue
tags:
- Smarthands
description: This API is used to request a Smart Hands order not listed in catalogue
parameters:
- name: body
in: body
schema:
$ref: '#/definitions/otherRequest'
responses:
'201':
$ref: '#/definitions/smarthandResponse'
'400':
description: Http Bad Request
schema:
$ref: '#/definitions/genericError'
examples:
application/json:
errors:
- code: EQX-123-1234
fields:
- xpath
message: Error message.
messageParams:
- Message place holder params
ticketId: '190619221547671'
'403':
description: Http Authorization Error
schema:
$ref: '#/definitions/genericError'
examples:
application/json:
errors:
- code: EQX-123-403
message: Insufficient permission to access the resource or invoke the request.
ticketId: '190619221547672'
'500':
description: Http Internal Server Error
schema:
$ref: '#/definitions/genericError'
examples:
application/json:
errors:
- code: EQX-123-500
message: The system had encountered an unexpected problem and we are tracking it with error code.
ticketId: '190619221547673'
/v1/orders/smarthands/locations:
parameters:
- $ref: '#/parameters/authorizationHeader'
get:
operationId: getLocation
summary: Get locations(ibx, cage) details for placing smart hands based on smart hands permission for user
tags:
- Smarthands
description: Get locations(ibx, cage) details for placing smart hands based on smart hands permission for user
parameters:
- name: detail
in: query
description: When enable this flag returns detailed permission with Cage & Cabinets.
required: false
type: boolean
default: false
- name: ibxs
in: query
description: 'Example: AM1,AM2'
required: false
type: string
- name: cages
in: query
description: 'Example: AM1:02:002MC1'
required: false
type: string
responses:
'200':
description: Return list of Ibx, Cage, Cabinets where user has access
schema:
type: object
properties:
locations:
type: array
items:
$ref: '#/definitions/location'
'400':
description: Http Bad Request
schema:
$ref: '#/definitions/genericError'
examples:
application/json:
errors:
- code: EQX-123-1234
fields:
- xpath
message: Error message.
messageParams:
- Message place holder params
ticketId: '190619221547671'
'403':
description: Http Authorization Error
schema:
$ref: '#/definitions/genericError'
examples:
application/json:
errors:
- code: EQX-123-403
message: Insufficient permission to access the resource or invoke the request.
ticketId: '190619221547672'
'500':
description: Http Internal Server Error
schema:
$ref: '#/definitions/genericError'
examples:
application/json:
errors:
- code: EQX-123-500
message: The system had encountered an unexpected problem and we are tracking it with error code.
ticketId: '190619221547673'
/v1/orders/smarthands/types:
parameters:
- $ref: '#/parameters/authorizationHeader'
get:
operationId: smartHandTypes
summary: All supported smart hands types API.
tags:
- Smarthands
description: Smart Hands Types API provides all types of supported smart hands.
parameters: []
responses:
'200':
description: Success
schema:
type: object
properties:
smarthands:
type: array
items:
$ref: '#/definitions/smarthandType'
examples:
application/json:
smarthands:
- type: EQUIPMENT_INSTALL
typeDescription: Equipment Install
'400':
description: Http Bad Request
schema:
$ref: '#/definitions/genericError'
examples:
application/json:
errors:
- code: EQX-123-1234
fields:
- xpath
message: Error message.
messageParams:
- Message place holder params
ticketId: '190619221547671'
'403':
description: Http Authorization Error
schema:
$ref: '#/definitions/genericError'
examples:
application/json:
errors:
- code: EQX-123-403
message: Insufficient permission to access the resource or invoke the request.
ticketId: '190619221547672'
'500':
description: Http Internal Server Error
schema:
$ref: '#/definitions/genericError'
examples:
application/json:
errors:
- code: EQX-123-500
message: The system had encountered an unexpected problem and we are tracking it with error code.
ticketId: '190619221547673'
definitions:
picturesDocumentRequest:
title: Pictures Document Request
type: object
properties:
customerReferenceNumber:
$ref: '#/definitions/customerReferenceNumber'
purchaseOrder:
$ref: '#/definitions/purchaseOrder'
ibxLocation:
$ref: '#/definitions/ibxLocation'
contacts:
$ref: '#/definitions/order-contacts'
schedule:
$ref: '#/definitions/scheduleInfo'
attachments:
$ref: '#/definitions/attachmentArray'
serviceDetails:
type: object
properties:
cameraProvidedBy:
type: string
description: Who is providing the camera? If documentOnly is false, this field is mandatory.
enum:
- Equinix
- Customer
specificDateAndTime:
type: boolean
description: Would you like to request a specific date and time? If true, Scheduling should not be STANDARD. If documentOnly is false, this field is mandatory.
example: false
documentOnly:
type: boolean
description: Do you need documents or pictures? Set true if you need documents.
example: true
description:
type: string
description: Descrption of the Photo/Document. If documentOnly is false, this field is mandatory.
example: Cage Photo
scopeOfWork:
$ref: '#/definitions/scopeOfWork'
required:
- documentOnly
- scopeOfWork
required:
- ibxLocation
- contacts
- schedule
- serviceDetails
equipmentInstallRequest:
title: Equipment Install Request
type: object
properties:
customerReferenceNumber:
$ref: '#/definitions/customerReferenceNumber'
purchaseOrder:
$ref: '#/definitions/purchaseOrder'
ibxLocation:
$ref: '#/definitions/ibxLocation'
contacts:
$ref: '#/definitions/order-contacts'
schedule:
$ref: '#/definitions/scheduleInfo'
attachments:
$ref: '#/definitions/attachmentArray'
serviceDetails:
type: object
properties:
deviceLocation:
type: string
description: Device Location
example: abc location
elevationDrawingAttached:
type: boolean
description: Elevation drawing attached?
example: false
installationPoint:
type: string
description: Installation Point
example: abc
installedEquipmentPhotoRequired:
type: boolean
description: Installed Equipment Photo Required?
example: false
mountHardwareIncluded:
type: boolean
description: Mount hardware included?
example: true
patchDevices:
type: boolean
description: Patch Devices?
example: true
patchingInfo:
type: string
description: Patching info
example: Patch my equipment
powerItOn:
type: boolean
description: Power it on?
example: true
needSupportFromASubmarineCableStationEngineer:
$ref: '#/definitions/needSupportFromASubmarineCableStationEngineer'
scopeOfWork:
$ref: '#/definitions/scopeOfWork'
required:
- deviceLocation
- elevationDrawingAttached
- installationPoint
- installedEquipmentPhotoRequired
- mountHardwareIncluded
- patchDevices
- powerItOn
- scopeOfWork
required:
- ibxLocation
- contacts
- schedule
- serviceDetails
cross-connect-install:
title: Cross Connect for Install
type: object
properties:
serialNumber:
type: string
description: Cross Connect serialNumber
deviceCabinet:
type: string
description: Cross Connect Cabinet
deviceConnectorType:
type: string
description: Cross Connect Device Connector Type
deviceDetails:
type: string
description: Cross Connect Device Details
devicePort:
type: string
description: Cross Connect Device Port
lightLinkVerification:
type: boolean
example: true
description: Cross Connect Light Link Verification (Optional). Select this option 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, please 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.
scopeOfWork:
type: string
description: Scope of work
minLength: 1
maxLength: 4000
required:
- serialNumber
- deviceCabinet
- deviceConnectorType
- deviceDetails
- devicePort
device:
title: Device
type: object
properties:
name:
type: string
description: Device name
maxLength: 200
example: Device Name
slot:
type: string
description: Device slot
maxLength: 50
example: '50'
port:
type: string
description: Device port
maxLength: 50
example: '50'
required:
- name
- slot
- port
order-contacts:
type: array
title: Order Contacts Array
description: Use this array to pass ordering contact, notification contacts and technical contact. Only one ordering contact, technical contact is allowed. One or more notification contacts are allowed. Ordering and notification contacts are always registered customers with the customer portal.
minItems: 3
example:
- contactType: ORDERING
userName: jondoe@test.com
- contactType: NOTIFICATION
userName: jondoe@test.com
- contactType: TECHNICAL
name: John Doe
workPhone: '1111111'
workPhonePrefToCall: ANYTIME
mobilePhone: '1111111'
mobilePhonePrefToCall: ANYTIME
items:
$ref: '#/definitions/contactInfo'
contactInfo:
title: Contact Info
type: object
description: 'Use this model to build contact object. Ordering and notification contacts are are always equinix registered contacts and we only expect username and rest of the details will be looked up. It is important to know that when username is provided all other attributes apart from contactType will be ignored '
example:
contactType: TECHNICAL
name: Jane Smith
email: jane_smith@test.com
workPhoneCountryCode: '+1'
workPhone: '408123456'
workPhonePrefToCall: ANYTIME
mobilePhoneCountryCode: '+1'
mobilePhone: '408123456'
mobilePhonePrefToCall: ANYTIME
properties:
contactType:
type: string
description: Contact Type, possible values are ORDERING, NOTIFICATION, TECHNICAL
enum:
- TECHNICAL
- ORDERING
- NOTIFICATION
example: TECHNICAL
userName:
type: string
description: User Name
example: kmo00re@abc.com
name:
type: string
pattern: ^[\s.]*([^\s.][\s.]*){0,100}$
description: Full Name of the Contact, Eg. 'First_Name' + 'Last_Name'
example: Jane Smith
email:
type: string
description: Valid email address of the contact
maxLength: 100
pattern: ^(([^<>()\[\]\.,;:\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,}))$
workPhoneCountryCode:
type: string
description: Country Code of Primary Phone of the contact
minLength: 1
maxLength: 6
pattern: ^\+[0-9]{1,6}$
workPhone:
type: string
description: Primary Phone of the contact
minLength: 1
maxLength: 40
pattern: ^[0-9\.\-() ]{2,40}(?:(x|ext)[0-9\.\-() ]{1,10})?$
workPhonePrefToCall:
type: string
description: Possible values are NEVER, ANYTIME, BUSINESS_HOURS, MY_BUSINESS_HOURS,IBX_BUSINESS_HOURS. But BUSINESS_HOURS is deprecated and will be removed in future release
enum:
- NEVER
- ANYTIME
- MY_BUSINESS_HOURS
- IBX_BUSINESS_HOURS
- BUSINESS_HOURS
example: ANYTIME
mobilePhoneCountryCode:
type: string
description: Country Code of Mobile Phone of the contact
minLength: 1
maxLength: 6
pattern: ^\+[0-9]{1,6}$
mobilePhone:
type: string
description: Mobile Phone of the contact
minLength: 1
maxLength: 40
pattern: ^[0-9\.\-() ]{2,40}(?:(x|ext)[0-9\.\-() ]{1,10})?$
mobilePhonePrefToCall:
type: string
description: Possible values are NEVER, ANYTIME, BUSINESS_HOURS, MY_BUSINESS_HOURS,IBX_BUSINESS_HOURS. But BUSINESS_HOURS is deprecated and will be removed in future release
enum:
- NEVER
- ANYTIME
- MY_BUSINESS_HOURS
- IBX_BUSINESS_HOURS
- BUSINESS_HOURS
example: ANYTIME
workPhoneTimeZone:
type: string
description: Work Phone TimeZone
maxLength: 40
example: America/LosAngeles
mobilePhoneTimeZone:
type: string
description: Mobile Phone TimeZone
maxLength: 40
example: America/LosAngeles
required:
- contactType
shipmentUnpackRequest:
title: Shipment Unpack Request
type: object
required:
- serviceDetails
- ibxLocation
- contacts
- schedule
properties:
customerReferenceNumber:
$ref: '#/definitions/customerReferenceNumber'
purchaseOrder:
$ref: '#/definitions/purchaseOrder'
ibxLocation:
$ref: '#/definitions/ibxLocation'
contacts:
$ref: '#/definitions/order-contacts'
schedule:
$ref: '#/definitions/scheduleInfo'
attachments:
$ref: '#/definitions/attachmentArray'
serviceDetails:
type: object
description: Shipment Unpacking
properties:
inboundShipmentOrderNumber:
type: string
description: Inbound Shipment Order Number
pattern: ^[ A-Za-z0-9~!|\[\]@#$%^&*()_+:"<>?\/.,;'=\-\{\}`]{1,50}$
example: 1-12122121
copyOfPackingSlipNeeded:
type: boolean
description: Copy of Packaging Slip Needed?
example: false
scopeOfWork:
$ref: '#/definitions/scopeOfWork'
discardShipmentMaterial:
type: boolean
description: Discard Shipment Material?
example: false
required:
- inboundShipmentOrderNumber
- discardShipmentMaterial
- copyOfPackingSlipNeeded
- scopeOfWork
purchaseOrder:
title: Purchase Order
type: object
description: Use this model to pass purchase order reference information. When purchase order selection type is EXEMTED, number is not required
properties:
number:
type: string
maxLength: 20
description: Purchase Order Number
example: '123455'
purchaseOrderType:
type: string
enum:
- EXISTING
- EXEMPTED
description: Purchase Order Selection Type
required:
- purchaseOrderType
ibxLocation:
title: IBX Location
type: object
description: IBX, Cage, Accounts and Cabinet information
properties:
ibx:
type: string
example: AM1
minLength: 1
maxLength: 10
cages:
type: array
minItems: 1
items:
type: object
properties:
cage:
type: string
example: AM1:01:001MC3
minLength: 1
accountNumber:
type: string
example: '12345'
minLength: 1
cabinets:
type: array
items:
type: string
example: AM1:01:001MC3:0102
required:
- cage
- accountNumber
required:
- ibx
- cages
moveJumperCableRequest:
title: Move Jumper Cable Request
type: object
properties:
customerReferenceNumber:
$ref: '#/definitions/customerReferenceNumber'
purchaseOrder:
$ref: '#/definitions/purchaseOrder'
ibxLocation:
$ref: '#/definitions/ibxLocation'
contacts:
$ref: '#/definitions/order-contacts'
schedule:
$ref: '#/definitions/scheduleInfo'
attachments:
$ref: '#/definitions/attachmentArray'
serviceDetails:
type: object
description: Move Jumper Cable Service Details Object. Please fill out the Cable ID, Current Device (Name, Slot, Port) and New Device (Name, Slot, Port) details for each jumper cable and attach it to the form or complete scope of work text box when 'Quantity' is greater than 1. 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. Please select the best option for your scheduling needs. If 'Quantity' is 1, then below 'currentDeviceDetails' and 'newDeviceDetails' objects are mandatory.
properties:
quantity:
type: string
description: Quantity.
enum:
- '1'
- '2'
- '3'
- '4'
- '5'
- '6'
- '7'
- '8'
- '9'
- '10'
- '11'
- '12'
- 12+
cableId:
type: string
description: Enter Cable ID or ‘None’ if not applicable. This field is mandatory if 'Quantity' is 1.
example: A01-5-10
currentDeviceDetails:
$ref: '#/definitions/device'
newDeviceDetails:
$ref: '#/definitions/device'
scopeOfWork:
$ref: '#/definitions/scopeOfWork'
required:
- quantity
- scopeOfWork
required:
- ibxLocation
- contacts
- schedule
- serviceDetails
account:
title: Account
type: object
properties:
number:
type: string
description: Account Number
example: '136008'
name:
type: string
description: Name of Account
example: Service Corporation
isCreditHold:
type: boolean
description: Is credit Hold account
example: 'false'
isPOBearing:
type: boolean
description: Is PO Bearing account
example: 'false'
cabinets:
type: array
items:
$ref: '#/definitions/cabinets'
description: List of Cabinets
required:
- number
- name
smarthandType:
title: Smart hands Type
type: object
properties:
type:
type: string
description: Smarthand Type
example: EQUIPMENT_INSTALL
typeDescription:
type: string
description: Description of Smarthand Type
example: EQUIPMENT_INSTALL
required:
- type
- typeDescription
patchCableInstallRequest:
title: Patch Cable Install Request
type: object
properties:
customerReferenceNumber:
$ref: '#/definitions/customerReferenceNumber'
purchaseOrder:
$ref: '#/definitions/purchaseOrder'
ibxLocation:
$ref: '#/definitions/ibxLocation'
contacts:
$ref: '#/definitions/order-contacts'
schedule:
$ref: '#/definitions/scheduleInfo'
attachments:
$ref: '#/definitions/attachmentArray'
serviceDetails:
type: object
properties:
crossConnects:
type: array
items:
$ref: '#/definitions/cross-connect-install'
required:
- crossConnects
- scopeOfWork
required:
- ibxLocation
- contacts
- schedule
- serviceDetails
cageEscortRequest:
title: Cage Escort Request
type: object
required:
- ibxLocation
- contacts
- schedule
- serviceDetails
properties:
customerReferenceNumber:
$ref: '#/definitions/customerReferenceNumber'
purchaseOrder:
$ref: '#/definitions/purchaseOrder'
ibxLocation:
$ref: '#/definitions/ibxLocation'
contacts:
$ref: '#/definitions/order-contacts'
schedule:
$ref: '#/definitions/scheduleInfo'
attachments:
$ref: '#/definitions/attachmentArray'
serviceDetails:
type: object
description: Escort to Open Cage/Open Cabinet
properties:
durationVisit:
type: string
description: Duration of the visit for the Visitor
enum:
- 30 Minutes
- 60 Minutes
- 90 Minutes
- 2 Hours
- 2 Hours 30 Minutes
- 3 Hours
- 3 Hours 30 Minutes
- 4 Hours
openCabinetForVisitor:
type: boolean
description: Open the Cabinet for the Visitor?
example: false
scopeOfWork:
$ref: '#/definitions/scopeOfWork'
supervisionReqForVisitor:
type: boolean
description: Supervision Required For the Visitor?
example: false
workVisitOrderNumber:
type: string
description: Work Visit Order Number
pattern: ^[ A-Za-z0-9~!|\[\]@#$%^&*()_+:"<>?\/.,;'=\-\{\}`]{1,200}$
example: 1-108050984499
required:
- durationVisit
- openCabinetForVisitor
- scopeOfWork
- supervisionReqForVisitor
- workVisitOrderNumber
location:
title: Location
type: object
properties:
ibx:
type: string
description: Ibx Name
example: AM1
cages:
type: array
description: List of cage
items:
$ref: '#/definitions/cage'
required:
- ibx
- cages
cageCleanupRequest:
title: Cage Cleanup Request
type: object
properties:
customerReferenceNumber:
$ref: '#/definitions/customerReferenceNumber'
purchaseOrder:
$ref: '#/definitions/purchaseOrder'
ibxLocation:
$ref: '#/definitions/ibxLocation'
contacts:
type: array
description: Use this array to pass ordering contact, notification contacts and technical contact. Only one ordering contact, technical contact is allowed. One or more notification contacts are allowed. Ordering and notification contacts are always registered customers with the customer portal.
minItems: 3
items:
$ref: '#/definitions/contactInfo'
schedule:
$ref: '#/definitions/scheduleInfo'
attachments:
$ref: '#/definitions/attachmentArray'
serviceDetails:
type: object
description: Cage Cleanup
required:
- permissionToDiscardBoxes
- dampMoistMopRequired
- scopeOfWork
properties:
permissionToDiscardBoxes:
type: boolean
description: Permission To Discard Boxes?
example: false
dampMoistMopRequired:
description: Is Damp Moist Mop Requested?
example: true
type: boolean
scopeOfWork:
$ref: '#/definitions/scopeOfWork'
required:
- ibxLocation
- contacts
- serviceDetails
customerReferenceNumber:
type: string
title: Customer Reference Number
description: You may use numbers and text in this field to enter reference information for your records. This will also appear in your reports and details. You may use this information to search for this content on the submitted requests page.
minLength: 1
maxLength: 50
example: RSS41244
needSupportFromASubmarineCableStationEngineer:
type: boolean
title: Need Support From Submarine Cable Station Engineer
description: This flag is only applicable to Submarine Cable IBXs
example: false
otherRequest:
title: Other Request
type: object
properties:
customerReferenceNumber:
$ref: '#/definitions/customerReferenceNumber'
purchaseOrder:
$ref: '#/definitions/purchaseOrder'
ibxLocation:
$ref: '#/definitions/ibxLocation'
contacts:
$ref: '#/definitions/order-contacts'
schedule:
$ref: '#/definitions/scheduleInfo'
attachments:
$ref: '#/definitions/attachmentArray'
serviceDetails:
type: object
description: Other
required:
- scopeOfWork
properties:
scopeOfWork:
$ref: '#/definitions/scopeOfWork'
required:
- serviceDetails
- schedule
- contacts
- ibxLocation
scheduleInfo:
title: Schedule Info
type: object
description: Use this model to pass the scheduling option that best meets your needs. Please remember that additional approvals or fees may be required for expedited requests.
properties:
scheduleType:
type: string
description: STANDARD:
Choose this option and we will complete your request in the standard turnaround time pending install base readiness. Most requests are processed within 24 to 72 hours. Requests will be processed on a first come, first served basis unless they are expedited. RequestedStartDate and requestedCompletionDate ignored for standard scheduling
EXPEDITED: Choose this option and Equinix will prioritize your request and attempt to fulfill it as soon as reasonably possible. Additional fees may apply. RequestedCompletionDate is mandatory for expedite scheduling. RequestedStartDate is ignored for expedite scheduling.
SCHEDULED_MAINTENANCE: Choose this option to schedule a request for a specific date and time, including today. RequestedStartDate and requestedCompletionDate are mandatory for schedule maintenance
enum:
- STANDARD
- EXPEDITED
- SCHEDULED_MAINTENANCE
requestedStartDate:
description: Requested Start Date Time (ISO Date)
Cannot Past Date.
type: string
format: date-time
example: '2017-04-05T12:00:00Z'
requestedCompletionDate:
description: Requested Completion Date Time (ISO Date)
Cannot Past Date.
type: string
format: date-time
example: '2017-04-05T12:00:00Z'
required:
- scheduleType
attachmentArray:
type: array
title: Attachments Array
description: Use this to pass uploaded attachments. Attachments need to be uploaded using the attachments API. Maximum size of an attachment is 2MB with the following formats - bmp, jpg, jpeg, gif, png, tif, tiff, txt, doc, docx, xls, xlsx, ppt, pps, ppsx, pdf, and vsd.
maxItems: 5
items:
$ref: '#/definitions/attachment'
cabinets:
title: Cabinets
type: object
properties:
cabinet:
type: string
description: Cabinet Number
example: LD5:01:001MC3:0718
cabinetType:
type: string
description: Cabinet Type, Eg. Regular, Demarc
scopeOfWork:
type: string
title: Scope Of Work
description: Enter any additional details that will help our technicians execute your request. You may also attach your scope of work as a document if you exceed the character limit in this field.
minLength: 1
maxLength: 4000
example: Scope of work
runJumperCableRequest:
title: Move Jumper Cable Request
type: object
properties:
customerReferenceNumber:
$ref: '#/definitions/customerReferenceNumber'
purchaseOrder:
$ref: '#/definitions/purchaseOrder'
ibxLocation:
$ref: '#/definitions/ibxLocation'
contacts:
$ref: '#/definitions/order-contacts'
schedule:
$ref: '#/definitions/scheduleInfo'
attachments:
$ref: '#/definitions/attachmentArray'
serviceDetails:
type: object
description: Move Jumper Cable Service Details Object. Please fill out the Media Type, Connector Type, Cable ID(optional), 'Should Equinix provide you Tx/Rx light levels, Yes Or No?', Devices to Connect details for Device#1 (Name/Panel, Device Slot, Device Ports) and Device#2(Optional) (Name/Panel, Device Slot, Device Ports) details for each jumper cable and attach it to the form or complete scope of work text box when 'Quantity' is greater than 1. If any device is being shipped to Equinix, please 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. Please select the best option for your scheduling needs. If ‘Quantity’ is 1, then ‘Jumper Type’, Media Type, Connector Type, 'Should Equinix provide you Tx/Rx light levels?' and Device details are mandatory.
properties:
quantity:
type: string
description: Quantity.
enum:
- '1'
- '2'
- '3'
- '4'
- '5'
- '6'
- '7'
- '8'
- '9'
- '10'
- '11'
- '12'
- 12+
jumperType:
type: string
description: Jumper Type
enum:
- Jumper
- Pre-Wiring
- Patch Cable
- Other
mediaType:
type: string
description: Media Type
enum:
- Multi-mode 62.5mic
- Multi-mode 50mic
- Single-mode
- Cat-5
- Cat-6
- Coax
- POTS
- T1
- E1
connector:
type: string
description: Connector Type
enum:
- RJ45
- SC
- LC
- BNC
- Other
cableId:
type: string
description: Cable ID
example: A01-5-10
provideTxRxLightLevels:
type: boolean
description: Provide Tx/Rx Light Levels
example: true
deviceDetails:
type: array
items:
$ref: '#/definitions/device'
scopeOfWork:
$ref: '#/definitions/scopeOfWork'
required:
- quantity
- scopeOfWork
required:
- ibxLocation
- contacts
- schedule
- serviceDetails
attachment:
title: Attachment
type: object
properties:
id:
type: string
description: Attachement Id generated from Attachment Api
minLength: 1
example: eb9ab7e9-3785-41e4-af24-112dff
name:
type: string
description: Attachment file name, Please make sure attachment name which is used while uploading via Attachment Api
minLength: 1
example: eb9ab7e9-3785-41e4-af24-asfsa5424
required:
- id
- name
patchCableRemovalRequest:
title: Patch Cable Removal Request
type: object
properties:
customerReferenceNumber:
$ref: '#/definitions/customerReferenceNumber'
purchaseOrder:
$ref: '#/definitions/purchaseOrder'
ibxLocation:
$ref: '#/definitions/ibxLocation'
contacts:
$ref: '#/definitions/order-contacts'
schedule:
$ref: '#/definitions/scheduleInfo'
attachments:
$ref: '#/definitions/attachmentArray'
serviceDetails:
type: object
properties:
crossConnects:
type: array
items:
$ref: '#/definitions/cross-connect-removal'
required:
- crossConnects
- scopeOfWork
required:
- ibxLocation
- contacts
- schedule
- serviceDetails
locatePackageRequest:
title: Locate Package Request
type: object
required:
- serviceDetails
- ibxLocation
- contacts
- schedule
properties:
customerReferenceNumber:
$ref: '#/definitions/customerReferenceNumber'
purchaseOrder:
$ref: '#/definitions/purchaseOrder'
ibxLocation:
$ref: '#/definitions/ibxLocation'
contacts:
$ref: '#/definitions/order-contacts'
schedule:
$ref: '#/definitions/scheduleInfo'
attachments:
$ref: '#/definitions/attachmentArray'
serviceDetails:
type: object
description: Shipment Unpacking
properties:
shipmentOrderNumber:
type: string
description: Inbound Shipment Order Number
pattern: ^[ A-Za-z0-9~!|\[\]@#$%^&*()_+:"<>?\/.,;'=\-\{\}`]{1,50}$
example: 1-1111111111
trackingNumber:
type: string
description: Tracking Number
pattern: ^[ A-Za-z0-9~!|\[\]@#$%^&*()_+:"<>?\/.,;'=\-\{\}`]{1,200}$
example: 323-12121
possibleLocation:
type: string
description: Possible Location
pattern: ^[ A-Za-z0-9~!|\[\]@#$%^&*()_+:"<>?\/.,;'=\-\{\}`]{1,200}$
example: Near cabinet 1010
packageDescription:
type: string
description: Package Description
pattern: ^[ A-Za-z0-9~!|\[\]@#$%^&*()_+:"<>?\/.,;'=\-\{\}`]{1,200}$
example: It's small box with 1kg weight.
scopeOfWork:
$ref: '#/definitions/scopeOfWork'
required:
- shipmentOrderNumber
- trackingNumber
- possibleLocation
- packageDescription
- scopeOfWork
cross-connect-removal:
title: Cross Connect for Removal
type: object
properties:
serialNumber:
type: string
description: Cross Connect serialNumber
deviceCabinet:
type: string
description: Cross Connect Cabinet
deviceConnectorType:
type: string
description: Cross Connect Device Connector Type
deviceDetails:
type: string
description: Cross Connect Device Details
devicePort:
type: string
description: Cross Connect Device Port
removePatchCableWithLiveTraffic:
type: boolean
example: true
description: Proceed with the de-install if live traffic is detected (Optional). By selecting this option, I agree to the terms of removal with live traffic. Please be advised that Equinix will complete the requested removal based on your instruction and will not be responsible for any service outages resulting from this removal.
scopeOfWork:
type: string
description: Scope of work
minLength: 1
maxLength: 4000
required:
- serialNumber
- deviceCabinet
- deviceConnectorType
- deviceDetails
- devicePort
genericError:
type: object
title: Application Errors
properties:
errors:
type: array
items:
type: string
ticketId:
type: string
cage:
title: Cage
type: object
properties:
cage:
type: string
description: Cage or Suite
example: LD5:01:001MC3
cageTypes:
type: array
description: Cage Types
example: Shared
items:
type: string
accounts:
type: array
description: List of Accounts
items:
$ref: '#/definitions/account'
required:
- cage
cableRequestRequest:
title: Request Cables - Request
type: object
properties:
customerReferenceNumber:
$ref: '#/definitions/customerReferenceNumber'
purchaseOrder:
$ref: '#/definitions/purchaseOrder'
ibxLocation:
$ref: '#/definitions/ibxLocation'
contacts:
$ref: '#/definitions/order-contacts'
schedule:
$ref: '#/definitions/scheduleInfo'
attachments:
$ref: '#/definitions/attachmentArray'
serviceDetails:
type: object
description: Please fill out the Media Type, Connector Type and Length (Specify in cm or ft) for each jumper cable and attach it to the form or complete scope of work text box when 'Quantity' is greater than 1. You may mix jumper types but if you require more than 10 cables, the site will contact you for scheduling of your request based on parts and availability. Please select the best option for your scheduling needs. If 'Quantity' is 1, then below 'Media Type', 'Connector Type' and 'Length (feet/cm)' objects are mandatory.
properties:
mediaType:
type: string
description: Media Type.
enum:
- Multi-mode 62.5mic
- Multi-mode 50mic
- Single-mode
- Cat-5
- Cat-6
- Coax
- POTS
- T1
- E1
connectorType:
type: string
description: Connector Type.
enum:
- RJ45
- SC
- LC
- BNC
- Other
length:
type: string
minLength: 1
maxLength: 50
description: Length (feet/cm).
example: 20 ft
quantity:
type: string
description: Quantity
enum:
- '1'
- '2'
- '3'
- '4'
- '5'
- '6'
- '7'
- '8'
- '9'
- '10'
- '>10'
scopeOfWork:
$ref: '#/definitions/scopeOfWork'
required:
- quantity
- scopeOfWork
required:
- ibxLocation
- contacts
- schedule
- serviceDetails
smarthandResponse:
title: Smart hands Order Response
description: Order has been submitted successfully
type: object
properties:
orderNumber:
type: string
description: Order Number
example: 1-108124419634
required:
- orderNumber
example:
orderNumber: 1-128726682521
parameters:
authorizationHeader:
name: Authorization
in: header
description: Specify the Access token with prefix 'Bearer'.
type: string
required: false
x-eqx-api-linter-skip-rules:
- 3
- 38