Equinix Orders API

Orders

OpenAPI Specification

equinix-orders-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Equinix API Authentication Orders 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: Orders
  description: Orders
paths:
  /colocations/v2/orders/{orderId}:
    get:
      tags:
      - Orders
      operationId: GET Order details
      summary: Retrieve an order
      description: This method retrieves an order by its ID for a user with permission to view this request.
      security:
      - BearerAuth: []
      parameters:
      - name: orderId
        in: path
        description: Identifier of the Order
        required: true
        style: simple
        explode: false
        schema:
          maxLength: 100
          minLength: 1
          type: string
      - name: ibxs
        in: query
        description: List of IBXs to be filtered
        required: false
        style: form
        explode: false
        schema:
          type: array
          items:
            type: string
        example: SG1
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Orders'
              example:
              - orderId: 1-100000000001
                accountName: EQUNIX
                accountNumber: '100001'
                quoteRequestType: NEW
                contacts:
                - firstName: John
                  lastName: Doe
                  details:
                  - value: johndoe@acme.com
                    type: EMAIL
                  type: ORDERING
                - firstName: Contact
                  lastName: User 2
                  details:
                  - value: contact1@mail.com
                    type: EMAIL
                  type: NOTIFICATION
                - firstName: Contact
                  lastName: User 1
                  details:
                  - value: contact1@mail.com
                    type: EMAIL
                  type: NOTIFICATION
                status: CLOSED
                createdDateTime: '2020-07-31T11:23:06.000Z'
                updatedDateTime: '2020-08-06T05:29:26.000Z'
                channel: API
                details:
                - lineId: 1-ABCDNPE
                  description: Cross Connect
                  ibx: IB1
                  status: Completed
                  cage: IB1:04:B00010-62
                  productType: CROSS_CONNECT
                  productCode: CC00001
                  unitPricing:
                  - value: '0.0'
                    type: ONE_TIME_CHARGE
                    valueType: ABSOLUTE
                  productName: Cross Connect
                  requestType: Add
                  purchaseOrder: {}
                - lineId: 1-ABDESNPE
                  parentLineId: 1-ABCDNPE
                  description: Cross Connect - Installation Fee
                  ibx: IB1
                  status: Completed
                  cage: IB1:04:B00010-62
                  productType: CROSS_CONNECT
                  productCode: CC00001
                  pricingDetails:
                  - value: '60000.0'
                    type: ONE_TIME_CHARGE
                    valueType: ABSOLUTE
                  productName: Cross Connect - Installation Fee
                  requestType: Add
                  purchaseOrder: {}
                - lineId: 1-2DESJJNQ8
                  parentLineId: 1-ABCDNPE
                  description: Network Cable Connection
                  ibx: IB1
                  status: Completed
                  cage: IB1:04:B00010-62
                  productType: CROSS_CONNECT
                  productCode: CC00001
                  unitPricing:
                  - value: '0.0'
                    type: ONE_TIME_CHARGE
                    valueType: ABSOLUTE
                  productName: Network Cable Connection
                  requestType: Add
                  additionalInfo:
                  - key: CIRCUIT_ID
                    value: '-'
                  purchaseOrder: {}
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '405':
          description: Method Not allowed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /colocations/v2/orders/{orderId}/negotiations:
    get:
      tags:
      - Orders
      operationId: Retrieve order negotiations
      summary: Retrieve order negotiations
      description: This method retrieves order negotiations by its ID for a user with permission to view this request.
      security:
      - BearerAuth: []
      parameters:
      - name: orderId
        in: path
        description: Identifier of the order
        example: '{orderId}'
        required: true
        style: simple
        explode: false
        schema:
          maxLength: 100
          minLength: 1
          type: string
      responses:
        '200':
          description: List of negotiations messages
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NegotiationsMessages'
              examples:
                single_line:
                  value:
                  - referenceId: 4-12312312132
                    orderRequestedDateTime: '2020-08-25T10:24:10.282Z'
                    proposedDateTime: '2020-08-25T11:24:10.282Z'
                    expirationDateTime: '2020-08-25T09:24:10.282Z'
                    expedited: false
                    createdDateTime: '2020-08-25T06:24:10.282Z'
                    message: Due to multiple request, unable to process with requested time
                expedite_line:
                  value:
                  - referenceId: 4-12312312123
                    orderRequestedDateTime: '2020-08-25T10:24:10.282Z'
                    proposedDateTime: '2020-08-25T11:24:10.282Z'
                    expirationDateTime: '2020-08-25T09:24:10.282Z'
                    expedited: true
                    createdDateTime: '2020-08-25T06:24:10.282Z'
                    message: Due to multiple request, unable to process with requested time
                multi_line:
                  value:
                  - referenceId: 4-12312312123
                    orderRequestedDateTime: '2020-08-25T10:24:10.282Z'
                    proposedDateTime: '2020-08-25T11:24:10.282Z'
                    expirationDateTime: '2020-08-25T09:24:10.282Z'
                    createdDateTime: '2020-08-25T06:24:10.282Z'
                    message: Due to multiple request, unable to process with requested time
                  - referenceId: 4-9881236786
                    orderRequestedDateTime: '2020-08-24T10:24:10.282Z'
                    proposedDateTime: '2020-08-24T11:24:10.282Z'
                    expirationDateTime: '2020-08-24T09:24:10.282Z'
                    expedited: true
                    createdDateTime: '2020-08-24T06:24:10.282Z'
                    message: Due to multiple request, unable to process with requested time
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
              - errorCode: EQ-2042006
                errorMessage: Permission denied
                correlationId: '99740129126918'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
              - errorCode: EQ-2042006
                errorMessage: Permission denied
                correlationId: '99740129126918'
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
              - errorCode: EQ-2042009
                errorMessage: Request is conflicting
                correlationId: '99740129126918'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
              - errorCode: EQ-2042101
                errorMessage: The server has encountered an unexpected error. We apologize for the inconvenience. Please try again later.
                correlationId: '99740129126918'
    post:
      tags:
      - Orders
      operationId: Reply to an order negotiation
      summary: Reply to an order negotiation
      description: This method approves or rejects an order negotiation for a user with permission to view this request.
      security:
      - BearerAuth: []
      parameters:
      - name: orderId
        in: path
        description: Identifier of the order
        required: true
        style: simple
        explode: false
        schema:
          maxLength: 100
          minLength: 1
          type: string
          example: '{orderId}'
      requestBody:
        description: The action to be taken for an order negotiation
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Negotiations_request'
            examples:
              approve_payload:
                value:
                  referenceId: 4-9091830
                  action: APPROVE
              approve_without_expedite_payload:
                value:
                  referenceId: 4-9091830
                  action: APPROVE_NON_EXPEDITE
              approve_withLineId_payload:
                value:
                  referenceId: 4-12312312
                  action: APPROVE
              cancelation_payload:
                value:
                  referenceId: 4-9091830
                  action: CANCEL
                  reason: Cancelling the new time
              cancelation_byLineID_payload:
                value:
                  referenceId: 4-12312312
                  action: CANCEL
                  reason: Approving the new time
      responses:
        '202':
          description: Accepted
          headers:
            Location:
              description: Location of an order "/orders/1-23232322"
              schema:
                type: string
              example: /orders/1-23232322
        '204':
          description: No content
          headers:
            Location:
              description: Location of an order "/orders/1-23232322"
              schema:
                type: string
              example: /orders/1-23232322
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                single_field_error:
                  value:
                  - errorCode: EQ-2042025
                    errorMessage: Selected value is not in allowed list of values
                    correlationId: '99740113403329'
                    additionalInfo:
                    - property: action
                      reason: Selected code is invalid. Allowed list are APPROVE, APPROVE_NON_EXPIDATE and CANCEL
                      value: CANCELD
                multiple_field_error:
                  value:
                  - errorCode: EQ-2042010
                    errorMessage: One or more property is having miss leading input fields/properties
                    correlationId: '99740129126918'
                    additionalInfo:
                    - property: action
                      reason: Selected code is invalid. Allowed list are APPROVE, APPROVE_NON_EXPIDATE and CANCEL
                      value: CANCELD
                    - property: reasons
                      reason: reason is not meeting minimum length
                      value: abc
                multiple_negotionation_error:
                  value:
                  - errorCode: EQ-2042262
                    errorMessage: More than one pending negotiation found for the given order number %.
                    correlationId: '99740129126918'
                    additionalInfo:
                    - property: referenceId
                      reason: More than one pending negotiation found for the given order number %.
                      value: 1-1783168236
                negotionation_nofound_error:
                  value:
                  - errorCode: EQ-2042252
                    errorMessage: No pending negotiation found for the given parameters.
                    correlationId: '99740129126918'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
              - errorCode: EQ-2042006
                errorMessage: Permission denied
                correlationId: '99740129126918'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
              - errorCode: EQ-2042006
                errorMessage: Permission denied
                correlationId: '99740129126918'
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
              - errorCode: EQ-2042009
                errorMessage: Request is conflicting
                correlationId: '99740129126918'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
              - errorCode: EQ-2042101
                errorMessage: The server has encountered an unexpected error. We apologize for the inconvenience. Please try again later.
                correlationId: '99740129126918'
  /colocations/v2/orders/{orderId}/notes:
    post:
      tags:
      - Orders
      operationId: Add notes to an order
      summary: Add notes to an order
      description: This method adds notes to an order by its ID for a user with permission to view this request.
      security:
      - BearerAuth: []
      parameters:
      - name: orderId
        in: path
        description: Identifier of the order
        required: true
        style: simple
        explode: false
        schema:
          maxLength: 100
          minLength: 1
          type: string
          example: '{orderId}'
      requestBody:
        description: The Order Id to be updated
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NoteRequest'
            examples:
              one_way_notes:
                value:
                  text: problem description
                  attachments:
                  - id: abae6f8c-e168-11ea-87d0-0242ac130003
                    name: problem_attachments
              two_way_notes:
                value:
                  text: two way query
                  referenceId: 5-123123433
                  attachments:
                  - id: 5fa55655-0031-4cc3-baa0-733daab0b1c4
                    name: query_attachments
      responses:
        '202':
          description: Accepted
          headers:
            Location:
              description: Location of an order "/orders/1-23232322"
              schema:
                type: string
              example: /orders/1-23232322
        '204':
          description: No content
          headers:
            Location:
              description: Location of an order "/orders/1-23232322"
              schema:
                type: string
              example: /orders/1-23232322
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '405':
          description: Method Not allowed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /colocations/v2/orders/{orderId}/cancel:
    post:
      tags:
      - Orders
      operationId: Cancel an order
      summary: Cancel an order
      description: This method cancels an order by its ID for a user with permission to view this request.
      security:
      - BearerAuth: []
      parameters:
      - name: orderId
        in: path
        description: Identifier of the order
        required: true
        style: simple
        explode: false
        schema:
          maxLength: 100
          minLength: 1
          type: string
      requestBody:
        description: The Orders to be cancelled
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Cancel_Request'
        required: true
      responses:
        '202':
          description: Accepted
          headers:
            Location:
              description: Location of an order "/orders/1-23232322"
              schema:
                type: string
              example: /orders/1-23232322
        '204':
          description: No content
          headers:
            Location:
              description: Location of an order "/orders/1-23232322"
              schema:
                type: string
              example: /orders/1-23232322
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '405':
          description: Method Not allowed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /securecabinet/v1/orders:
    post:
      tags:
      - Orders
      summary: Order a new Secure Cabinet deployment
      description: 'Order a new Secure Cabinet deployment and recommended additional products at IBX data centers worldwide.

        '
      operationId: createOrder
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OrderCreateRequest'
        required: true
      responses:
        '202':
          description: Generated Order Number
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrderCreateResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
              example:
              - errorCode: EQ-7000401
                errorMessage: Unauthorized
                correlationId: dd270016-e866-4146-9a53-84e5ea65ec06
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
              example:
              - errorCode: EQ-7000403
                errorMessage: Forbidden
                correlationId: dd270016-e866-4146-9a53-84e5ea65ec06
        '422':
          description: Input validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationErrors'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
components:
  schemas:
    NoteRequest:
      type: object
      required:
      - text
      properties:
        referenceId:
          maxLength: 50
          minLength: 1
          type: string
          description: Unique reference ID associated with notes.
          example: '{orderId}'
        text:
          maxLength: 4000
          minLength: 5
          type: string
          example: The text of the note
          description: The text of the note
        attachments:
          maxItems: 5
          type: array
          description: File(s) attached to the Orders. To learn about including attachments in your request, see POST Attachments API.
          items:
            $ref: '#/components/schemas/Attachment'
      description: Extra notes about a given entity
    Rating:
      type: number
      description: Maximum, combined power draw of all cabinets in your order, measured in kVA. Applicable values, in 0.5 increments, depend on the IBX data center.
      format: double
      example: 5
    Orders:
      allOf:
      - $ref: '#/components/schemas/ordersBase'
      - $ref: '#/components/schemas/OrderDetails'
      description: An order could be request, service or ticket to performs specified activity on an colo businesss
    Negotiations_request:
      type: object
      required:
      - action
      - referenceId
      properties:
        referenceId:
          type: string
          description: 'Unique identifier to reference specific activity or order line id. '
          example: 4-9091830
        action:
          type: string
          description: Type of actions to be carried out with negotiation. Use `APPROVE` to accept order with new proposed date, `APPROVE_NON_EXPEDITE` to accept order without expedite and `CANCEL` to cancel order
          enum:
          - APPROVE
          - APPROVE_NON_EXPEDITE
          - CANCEL
        reason:
          type: string
          description: Reason for cancelling the negotiation
          minLength: 5
          maxLength: 4000
          example: Cancelling the new time
    ValidationError:
      required:
      - errorCode
      - errorMessage
      properties:
        errorCode:
          maxLength: 10
          minLength: 10
          type: string
          description: Application error code. Format :EQ-<error code>
          example: EQ-7000422
        errorMessage:
          type: string
          description: Application error message
          example: Unprocessable Entity
        correlationId:
          type: string
          description: Correlation ID without any sensitive or meaningful information.
          example: dd270016-e866-4146-9a53-84e5ea65ec06
        details:
          type: string
          description: More information on errors.
          example: The submitted payload does not meet validation criteria
        help:
          type: string
          description: Help message or URL to a help page for the corresponding errorCode.
          example: Please fix submitted payload according to additionalInfo
        additionalInfo:
          $ref: '#/components/schemas/ValidationErrorAdditionalInfoList'
      description: Error responses are included with 4xx and 5xx HTTP responses from the API service. Either "error" or "errors" will be set.
    ordersBase:
      description: Orders Base is the properties or attributes which common for every order details
      type: object
      properties:
        orderId:
          maxLength: 100
          minLength: 1
          type: string
          description: Unique identifier of the order.
        accountName:
          type: string
          description: Customer account name
        accountNumber:
          type: string
          description: Customer account number
        quoteRequestType:
          type: string
          description: The request type of the quote
          enum:
          - NEW
          - AMENDMENT
          - PAPERWORK
          - REPLACEMENT_RENEWAL
          - TERMINATION
          - MIGRATION
        contacts:
          type: array
          description: The related party associated with the ticket.
          items:
            $ref: '#/components/schemas/Contacts'
        status:
          type: string
          description: The current status of the order or service
          enum:
          - RECEIVED
          - IN_PROGRESS
          - ON_HOLD
          - CLOSED
          - CANCELLED
        createdDateTime:
          type: string
          description: The order created date and time in UTC timezone.
          format: date-time
        updatedDateTime:
          type: string
          description: The order updated date and time in UTC timezone.
          format: date-time
        closedDateTime:
          type: string
          description: The order closed date and time in UTC timezone.
          format: date-time
        estimatedCompletionDateTime:
          type: string
          description: The estimated completion date and time in UTC timezone
          format: date-time
        currencyCode:
          $ref: '#/components/schemas/currencyCode'
        channel:
          type: string
          description: Type of channel used to place the order
          enum:
          - API
          - PORTAL
          - MOBILE
          - OFFLINE
        subChannel:
          type: string
          description: Type of sub-channel used to place the order
          enum:
          - ECP
          - ECX
          - IX
          - NE
          - EMG
          - QUOTE
        notes:
          type: array
          description: The notes that are associated to the orders.
          items:
            $ref: '#/components/schemas/Note'
        additionalInfo:
          $ref: '#/components/schemas/productAdditionalInfo'
        customerReferenceId:
          maxLength: 100
          minLength: 5
          type: string
          description: Customer Reference Number / External Reference Number
        cancellable:
          type: boolean
          description: When `true`, order can be cancelled.
          default: false
        modifiable:
          type: boolean
          description: When `true`, order can be modified.
          default: false
    Errors:
      type: array
      items:
        $ref: '#/components/schemas/Error_2'
    ordersLine:
      description: Orders Line contains information appplicable for all the orders type i.e smart hands, work visit and cross connect
      type: object
      properties:
        lineId:
          type: string
          example: 1-NEYSNX123
          description: 'Unique identifier associated with line item. '
        parentlineId:
          type: string
          description: Unique identifier associated with `lineId`to denote hierarchy of the product. When this field is null, item considered to be at root level.
          example: 1-NEYSNX124
        rootlineId:
          type: string
          description: Unique identifier to specify root item. Useful when product order hierarchy exceeds 2.
          example: 1-NEYSNX120
        status:
          type: string
          description: The current status of the order or service
        description:
          maxLength: 4000
          minLength: 5
          type: string
          description: Description of the orders.
        billingStartDateTime:
          type: string
          description: Billing commencement date and time in UTC provided in the RFC3339 format with timezone markers omitted, delimitting date and time with a space, e.g. 2024-12-31 23:59:59
        estimatedCompletionDateTime:
          type: string
          description: The estimated completion date and time in UTC timezone
          format: date-time
        unitPricing:
          type: array
          description: Unit Pricing details
          items:
            $ref: '#/components/schemas/price'
        totalPricing:
          type: array
          description: Total Pricing details
          items:
            $ref: '#/components/schemas/price'
        productType:
          type: string
          description: 'Type of product. Known values include: CROSS_CONNECT, SMART_HANDS, WORK_VISIT, SECURITY_ACCESS, CONFERENCE_ROOM, TROUBLE_TICKET, SHIPMENTS, NETWORK_PORTS, DEINSTALL_CROSS_CONNECT, Equinix Fabric Port/Connection, OTHER'
        productCode:
          type: string
          description: Product code associated with a particular product
          example: CC00001
        productName:
          type: string
          description: Product name
          example: Cage with KVA Power
        ibx:
          type: string
          description: Location code of Equinix datacenter
        cage:
          type: string
          description: Cage ID
        cabinets:
          description: One or more cabinets ID
          type: array
          items:
            type: string
        requestType:
          type: string
          description: Type of order request. ie `requestType` can be of `ADD` if you are adding new services/product.
          example: ADD
          enum:
          - ADD
          - DELETE
          - NO_CHANGE
          - UPDATE
        attachments:
          maxItems: 5
          type: array
          description: File(s) attached to the Orders. To learn about including attachments in your request, see POST Attachments API.
          items:
            $ref: '#/components/schemas/Attachment'
        additionalInfo:
          $ref: '#/components/schemas/productAdditionalInfo'
        purchaseOrder:
          $ref: '#/components/schemas/purchaseOrder'
        cancellable:
          type: boolean
          description: When `true`, order can be cancelled
          default:

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