Equinix Smarthands API

The Smarthands API from Equinix — 14 operation(s) for smarthands.

OpenAPI Specification

equinix-smarthands-api-openapi.yml Raw ↑
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

# --- truncated at 32 KB (59 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/equinix/refs/heads/main/openapi/equinix-smarthands-api-openapi.yml