{
    "openapi": "3.0.0",
    "x-eqx-api-linter-skip-rules": [
        3,
        24
    ],
    "info": {
        "title": "Shipments",
        "description": "All inbound and outbound shipments must be scheduled 24 hours in advance. Deliveries during non-standard business hours (after hours or weekend deliveries) require prior approval and will be billed to your account as an Equinix Smart Hands charge. You must communicate in writing any special shipping or packing instructions and if special packaging material is required. If your shipments are international, Equinix recommends that you hire a U.S. Customs Broker before shipping your equipment to and from our facilities. It is your responsibility to arrange for delivery to and from our facilities and customs clearance at the port of entry.",
        "version": "2.0",
        "termsOfService": "https://www.equinix.com/about/legal/terms",
        "contact": {
            "name": "Equinix API Support",
            "url": "https://docs.equinix.com/api-support.htm"
        }
    },
    "tags": [
        {
            "name": "Shipments",
            "description": "shipments"
        }
    ],
    "servers": [
        {
            "url": "https://api.equinix.com"
        },
        {
            "url": "https://sandboxapi.equinix.com"
        }
    ],
    "paths": {
        "/colocations/v2/orders/shipments": {
            "post": {
                "tags": [
                    "Shipments"
                ],
                "operationId": "Schedule inbound or outbound shipment",
                "summary": "Schedule inbound or outbound shipment",
                "description": "This method schedules an inbound or outbound shipment for a user with shipments ordering permission.",
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/Shipment_Create"
                            },
                            "examples": {
                                "inbound_payload": {
                                    "value": {
                                        "customerReferenceId": "Customer Reference information free text",
                                        "description": "Please provide any additonal details the technician may need to complete your request.",
                                        "details": {
                                            "carrier": "DHL",
                                            "carrierTrackingNumbers": [
                                                "DHL930182000"
                                            ],
                                            "numberOfBoxes": 1
                                        },
                                        "attachments": [
                                            {
                                                "id": "85d9660a-f877-405a-b38e-8e61a4f77f44",
                                                "name": "additionalattachment.docx"
                                            }
                                        ],
                                        "contacts": [
                                            {
                                                "type": "TECHNICAL",
                                                "firstName": "John",
                                                "lastName": "Doe",
                                                "availability": "WORK_HOURS",
                                                "timezone": "America/New_York",
                                                "details": [
                                                    {
                                                        "value": "johndoe@acme.com",
                                                        "type": "EMAIL"
                                                    },
                                                    {
                                                        "value": "+65-1111111",
                                                        "type": "PHONE"
                                                    },
                                                    {
                                                        "value": "+65-1111111",
                                                        "type": "MOBILE"
                                                    }
                                                ]
                                            },
                                            {
                                                "registeredUsers": [
                                                    "john_doe"
                                                ],
                                                "type": "NOTIFICATION"
                                            }
                                        ]
                                    }
                                },
                                "outbound_payload": {
                                    "value": {
                                        "customerReferenceId": "Customer Reference information free text",
                                        "description": "Please provide any additonal details the technician may need to complete your request.",
                                        "details": {
                                            "carrier": "DHL",
                                            "carrierTrackingNumbers": [
                                                "DHL930182000"
                                            ],
                                            "numberOfBoxes": 1,
                                            "declaredValue": 10000,
                                            "declaredValueCurrency": "USD",
                                            "shipmentLabelRequired": false
                                        },
                                        "attachments": [
                                            {
                                                "id": "85d9660a-f877-405a-b38e-8e61a4f77f44",
                                                "name": "additionalattachment.docx"
                                            }
                                        ],
                                        "contacts": [
                                            {
                                                "type": "TECHNICAL",
                                                "firstName": "John",
                                                "lastName": "Doe",
                                                "availability": "WORK_HOURS",
                                                "timezone": "America/New_York",
                                                "details": [
                                                    {
                                                        "value": "johndoe@acme.com",
                                                        "type": "EMAIL"
                                                    },
                                                    {
                                                        "value": "+65-1111111",
                                                        "type": "PHONE"
                                                    },
                                                    {
                                                        "value": "+65-1111111",
                                                        "type": "MOBILE"
                                                    }
                                                ]
                                            },
                                            {
                                                "registeredUsers": [
                                                    "john_doe"
                                                ],
                                                "type": "NOTIFICATION"
                                            }
                                        ]
                                    }
                                }
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created",
                        "headers": {
                            "Location": {
                                "description": "Location on newly shipment request",
                                "schema": {
                                    "type": "string",
                                    "example": "/orders/1-23232322"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "allOf": [
                                            {
                                                "$ref": "#/components/schemas/Error"
                                            }
                                        ]
                                    }
                                },
                                "example": [
                                    {
                                        "errorCode": "EQ-2016011",
                                        "errorMessage": "One or more mandatory properties are missing.",
                                        "correlationId": "100707114876163",
                                        "additionalInfo": [
                                            {
                                                "property": "type",
                                                "reason": "type is required"
                                            }
                                        ]
                                    }
                                ]
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "allOf": [
                                            {
                                                "$ref": "#/components/schemas/Error"
                                            }
                                        ]
                                    }
                                },
                                "example": [
                                    {
                                        "errorCode": "EQ-2016006",
                                        "errorMessage": "Permission denied to create. Please ensure you have appropriate permissions.",
                                        "correlationId": "100707134847792",
                                        "additionalInfo": [
                                            {
                                                "property": "cageId",
                                                "reason": "Cage is invalid. Ensure cage ID is valid and user is authorized to access this cage.",
                                                "value": {
                                                    "cageId": "DC2:01:001030as1'"
                                                }
                                            }
                                        ]
                                    }
                                ]
                            }
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "allOf": [
                                            {
                                                "$ref": "#/components/schemas/Error"
                                            }
                                        ]
                                    }
                                },
                                "example": [
                                    {
                                        "errorCode": "EQ-2016101",
                                        "errorMessage": "The server has encountered an unexpected error. We apologize for the inconvenience. Please try again later.",
                                        "correlationId": "99740129126918"
                                    }
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/colocations/v2/orders/shipments/{orderId}": {
            "patch": {
                "tags": [
                    "Shipments"
                ],
                "operationId": "Update inbound or outbound shipment",
                "summary": "Update inbound or outbound shipment",
                "description": "This method modifies an inbound or outbound shipment for a user with shipments ordering permission.",
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "parameters": [
                    {
                        "name": "orderId",
                        "in": "path",
                        "description": "Identifier of the shipments order",
                        "required": true,
                        "style": "simple",
                        "explode": false,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "description": "The Shipment to be updated",
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/Shipment_Modify_request"
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "202": {
                        "description": "Accepted",
                        "headers": {
                            "Location": {
                                "description": "Location of shipment request",
                                "schema": {
                                    "type": "string",
                                    "example": "/orders/1-23232322"
                                }
                            }
                        }
                    },
                    "204": {
                        "description": "No content",
                        "headers": {
                            "Location": {
                                "description": "Location of shipment request",
                                "schema": {
                                    "type": "string",
                                    "example": "/orders/1-23232322"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "allOf": [
                                            {
                                                "$ref": "#/components/schemas/Error"
                                            }
                                        ]
                                    }
                                },
                                "examples": {
                                    "field_error": {
                                        "value": [
                                            {
                                                "errorCode": "EQ-2016010",
                                                "errorMessage": "One or more properties are invalid",
                                                "correlationId": "99740129126918",
                                                "additionalInfo": [
                                                    {
                                                        "property": "requestedDateTime",
                                                        "reason": "timestamp is invalid",
                                                        "value": "2020-06-18T06:41:10.562sdasZ"
                                                    }
                                                ]
                                            }
                                        ]
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "allOf": [
                                            {
                                                "$ref": "#/components/schemas/Error"
                                            }
                                        ]
                                    }
                                },
                                "example": [
                                    {
                                        "errorCode": "EQ-2016005",
                                        "errorMessage": "Unable to access or locate given shipment. Please ensure you have appropriate permissions.",
                                        "correlationId": "100707134847792"
                                    }
                                ]
                            }
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "allOf": [
                                            {
                                                "$ref": "#/components/schemas/Error"
                                            }
                                        ]
                                    }
                                },
                                "example": [
                                    {
                                        "errorCode": "EQ-2016101",
                                        "errorMessage": "The server has encountered an unexpected error. We apologize for the inconvenience. Please try again later.",
                                        "correlationId": "99740129126918"
                                    }
                                ]
                            }
                        }
                    }
                }
            }
        }
    },
    "components": {
        "securitySchemes": {
            "BearerAuth": {
                "type": "http",
                "scheme": "bearer",
                "bearerFormat": "JWT"
            }
        },
        "schemas": {
            "Timezone": {
                "type": "string",
                "description": "List of Equinix supported timezones.",
                "example": "America/Los_Angeles",
                "enum": [
                    "Atlantic/Canary",
                    "Europe/Dublin",
                    "Europe/London",
                    "Europe/Lisbon",
                    "Africa/Algiers",
                    "Europe/Berlin",
                    "Europe/Amsterdam",
                    "Europe/Copenhagen",
                    "Europe/Madrid",
                    "Europe/Paris",
                    "Europe/Stockholm",
                    "Europe/Zurich",
                    "Europe/Warsaw",
                    "Africa/Cairo",
                    "Africa/Johannesburg",
                    "Africa/Lagos",
                    "Europe/Sofia",
                    "Africa/Nairobi",
                    "Asia/Jerusalem",
                    "Europe/Istanbul",
                    "Europe/Moscow",
                    "Asia/Riyadh",
                    "Asia/Dubai",
                    "Asia/Kabul",
                    "Asia/Tehran",
                    "Asia/Karachi",
                    "Indian/Maldives",
                    "Asia/Kolkata",
                    "Asia/Kathmandu",
                    "Asia/Omsk",
                    "Asia/Rangoon",
                    "Asia/Jakarta",
                    "Asia/Ho_Chi_Minh",
                    "Asia/Brunei",
                    "Asia/Hong_Kong",
                    "Asia/Kuala_Lumpur",
                    "Asia/Manila",
                    "Asia/Shanghai",
                    "Asia/Singapore",
                    "Asia/Taipei",
                    "Australia/Perth",
                    "Asia/Seoul",
                    "Asia/Tokyo",
                    "Australia/Darwin",
                    "Australia/Brisbane",
                    "Pacific/Guam",
                    "Australia/Adelaide",
                    "Australia/Sydney",
                    "Pacific/Auckland",
                    "Pacific/Chatham",
                    "Indian/Christmas",
                    "America/Scoresbysund",
                    "Atlantic/South_Georgia",
                    "America/Sao_Paulo",
                    "America/Detroit",
                    "America/New_York",
                    "America/Puerto_Rico",
                    "America/Toronto",
                    "America/Bogota",
                    "America/Chicago",
                    "America/Winnipeg",
                    "America/Denver",
                    "America/Edmonton",
                    "America/Mexico_City",
                    "America/Los_Angeles",
                    "America/Vancouver",
                    "America/Phoenix",
                    "America/Anchorage",
                    "America/Halifax",
                    "America/Lima",
                    "America/Monterrey",
                    "Pacific/Gambier",
                    "Pacific/Marquesas",
                    "Pacific/Honolulu",
                    "Pacific/Fiji",
                    "Asia/Muscat",
                    "America/Argentina/Buenos_Aires",
                    "America/Caracas",
                    "Etc/GMT+12",
                    "UTC",
                    "GMT",
                    "America/Santiago",
                    "America/St_Johns",
                    "Asia/Almaty",
                    "Asia/Bangkok",
                    "Asia/Calcutta",
                    "Asia/Magadan",
                    "Asia/Yekaterinburg",
                    "Australia/Eucla",
                    "Australia/Lord_Howe",
                    "Europe/Bratislava",
                    "Europe/Brussels",
                    "Europe/Prague",
                    "Europe/Rome",
                    "Europe/Helsinki",
                    "Pacific/Kiritimati",
                    "Pacific/Midway",
                    "Pacific/Tongatapu",
                    "Australia/Melbourne",
                    "Australia/NSW",
                    "Australia/Queensland",
                    "Australia/South",
                    "Australia/Victoria",
                    "Australia/West",
                    "Australia/Canberra"
                ]
            },
            "DeclaredValueCurrency": {
                "title": "Currency Code",
                "description": "`ISO-4217` currency code",
                "type": "string",
                "enum": [
                    "AED",
                    "AFN",
                    "ALL",
                    "AMD",
                    "ANG",
                    "AOA",
                    "ARS",
                    "AUD",
                    "AWG",
                    "AZN",
                    "BAM",
                    "BBD",
                    "BDT",
                    "BGN",
                    "BHD",
                    "BIF",
                    "BMD",
                    "BND",
                    "BOB",
                    "BOV",
                    "BRL",
                    "BSD",
                    "BTN",
                    "BWP",
                    "BYN",
                    "BZD",
                    "CAD",
                    "CDF",
                    "CHE",
                    "CHF",
                    "CHW",
                    "CLF",
                    "CLP",
                    "CNY",
                    "COP",
                    "COU",
                    "CRC",
                    "CUC",
                    "CUP",
                    "CVE",
                    "CZK",
                    "DJF",
                    "DKK",
                    "DOP",
                    "DZD",
                    "EGP",
                    "ERN",
                    "ETB",
                    "EUR",
                    "FJD",
                    "FKP",
                    "GBP",
                    "GEL",
                    "GHS",
                    "GIP",
                    "GMD",
                    "GNF",
                    "GTQ",
                    "GYD",
                    "HKD",
                    "HNL",
                    "HRK",
                    "HTG",
                    "HUF",
                    "IDR",
                    "ILS",
                    "INR",
                    "IQD",
                    "IRR",
                    "ISK",
                    "JMD",
                    "JOD",
                    "JPY",
                    "KES",
                    "KGS",
                    "KHR",
                    "KMF",
                    "KPW",
                    "KRW",
                    "KWD",
                    "KYD",
                    "KZT",
                    "LAK",
                    "LBP",
                    "LKR",
                    "LRD",
                    "LSL",
                    "LYD",
                    "MAD",
                    "MDL",
                    "MGA",
                    "MKD",
                    "MMK",
                    "MNT",
                    "MOP",
                    "MRU",
                    "MUR",
                    "MVR",
                    "MWK",
                    "MXN",
                    "MXV",
                    "MYR",
                    "MZN",
                    "NAD",
                    "NGN",
                    "NIO",
                    "NOK",
                    "NPR",
                    "NZD",
                    "OMR",
                    "PAB",
                    "PEN",
                    "PGK",
                    "PHP",
                    "PKR",
                    "PLN",
                    "PYG",
                    "QAR",
                    "RON",
                    "RSD",
                    "RUB",
                    "RWF",
                    "SAR",
                    "SBD",
                    "SCR",
                    "SDG",
                    "SEK",
                    "SGD",
                    "SHP",
                    "SLL",
                    "SOS",
                    "SRD",
                    "SSP",
                    "STN",
                    "SVC",
                    "SYP",
                    "SZL",
                    "THB",
                    "TJS",
                    "TMT",
                    "TND",
                    "TOP",
                    "TRY",
                    "TTD",
                    "TWD",
                    "TZS",
                    "UAH",
                    "UGX",
                    "USD",
                    "USN",
                    "UYI",
                    "UYU",
                    "UYW",
                    "UZS",
                    "VES",
                    "VND",
                    "VUV",
                    "WST",
                    "XAF",
                    "XAG",
                    "XAU",
                    "XBA",
                    "XBB",
                    "XBC",
                    "XBD",
                    "XCD",
                    "XDR",
                    "XOF",
                    "XPD",
                    "XPF",
                    "XPT",
                    "XSU",
                    "XTS",
                    "XUA",
                    "XXX",
                    "YER",
                    "ZAR",
                    "ZMW",
                    "ZWL"
                ]
            },
            "Error": {
                "title": "Error Info",
                "type": "array",
                "items": {
                    "title": "Error details",
                    "type": "object",
                    "properties": {
                        "errorCode": {
                            "type": "string",
                            "example": "EQ-20YYXXX"
                        },
                        "errorMessage": {
                            "type": "string",
                            "example": "Error message"
                        },
                        "details": {
                            "type": "string",
                            "example": "Error details"
                        },
                        "correlationId": {
                            "type": "string",
                            "example": "Correlation ID to trace the error back"
                        },
                        "help": {
                            "type": "string",
                            "example": "URL to a help page for the corresponding errorCode"
                        },
                        "additionalInfo": {
                            "title": "Error details",
                            "type": "object",
                            "properties": {
                                "property": {
                                    "type": "string",
                                    "example": "id"
                                },
                                "reason": {
                                    "type": "string",
                                    "example": "missing id"
                                }
                            }
                        }
                    }
                }
            },
            "Shipment_Create": {
                "required": [
                    "details",
                    "type",
                    "cageId",
                    "requestedDateTime"
                ],
                "type": "object",
                "properties": {
                    "type": {
                        "type": "string",
                        "description": "Type of shipment to be scheduled.",
                        "enum": [
                            "INBOUND",
                            "OUTBOUND"
                        ],
                        "example": "INBOUND"
                    },
                    "requestedDateTime": {
                        "type": "string",
                        "description": "Date and time of shipment schedule  in UTC timezone in ISO 8601 format.",
                        "format": "date-time",
                        "example": "2020-05-22T19:23:51.000Z"
                    },
                    "cageId": {
                        "type": "string",
                        "description": "ID of cage where shipment is to be delivered to or retrieve from.",
                        "example": "DC2:01:001030"
                    },
                    "details": {
                        "oneOf": [
                            {
                                "$ref": "#/components/schemas/InboundShipments_create"
                            },
                            {
                                "$ref": "#/components/schemas/OutboundShipments_create"
                            }
                        ]
                    },
                    "accountNumber": {
                        "type": "string",
                        "description": "Customer account number. This is required if cage is shared.",
                        "example": 224552
                    },
                    "description": {
                        "maxLength": 4000,
                        "minLength": 10,
                        "type": "string",
                        "description": "Any additional information that the technician may need to complete your request",
                        "example": "Package is heavy, please operate with caution"
                    },
                    "customerReferenceId": {
                        "maxLength": 40,
                        "minLength": 1,
                        "type": "string",
                        "description": "Customer Reference Number / External Reference Number",
                        "example": "048837d6-4cd8-401f-ba41-a4ac015c3f3e"
                    },
                    "purchaseOrder": {
                        "$ref": "#/components/schemas/purchaseOrder"
                    },
                    "attachments": {
                        "maxItems": 5,
                        "type": "array",
                        "description": "Additional attachments that is required to facilitate scheduled shipments such as instruction manual or photos. To learn about including attachments in your request, see POST Attachment API. ",
                        "items": {
                            "$ref": "#/components/schemas/Attachment"
                        }
                    },
                    "contacts": {
                        "type": "array",
                        "description": "The ordering user is the default Technical and Notification contacts. If you would like to provide a different Technical contact and/or additional Notification contacts, provide the Techical contact and Notificition contact(s) details. There can only be 1 Technical contact (registered user or not), but there can be more than 1 Notification contacts (registered users).",
                        "items": {
                            "anyOf": [
                                {
                                    "$ref": "#/components/schemas/ContactRequestRegisteredUser"
                                },
                                {
                                    "$ref": "#/components/schemas/ContactRequestNonRegisteredUser"
                                }
                            ]
                        }
                    }
                }
            },
            "ContactRequestRegisteredUser": {
                "required": [
                    "registeredUsers",
                    "type"
                ],
                "type": "object",
                "properties": {
                    "registeredUsers": {
                        "description": "Username of a registered user.",
                        "maxItems": 10,
                        "type": "array",
                        "items": {
                            "type": "string",
                            "example": "john_doe"
                        }
                    },
                    "availability": {
                        "type": "string",
                        "description": "Technical contact's availability to receive calls.",
                        "default": "ANYTIME",
                        "enum": [
                            "WORK_HOURS",
                            "ANYTIME"
                        ]
                    },
                    "timezone": {
                        "$ref": "#/components/schemas/Timezone"
                    },
                    "type": {
                        "type": "string",
                        "description": "Type of contact.",
                        "default": "NOTIFICATION",
                        "enum": [
                            "NOTIFICATION",
                            "TECHNICAL"
                        ]
                    }
                },
                "description": "Contact information of a registered user. Ensure that the user status of this contact is approved, active or locked."
            },
            "ContactRequestNonRegisteredUser": {
                "required": [
                    "details",
                    "firstName",
                    "lastName",
                    "type"
                ],
                "type": "object",
                "properties": {
                    "firstName": {
                        "type": "string",
                        "description": "First name of the contact.",
                        "example": "John"
                    },
                    "lastName": {
                        "type": "string",
                        "description": "Last name of the contact.",
                        "example": "Doe"
                    },
                    "type": {
                        "type": "string",
                        "description": "Type of contact.",
                        "default": "TECHNICAL",
                        "enum": [
                            "TECHNICAL"
                        ]
                    },
                    "availability": {
                        "type": "string",
                        "description": "Technical contact's availability to receive calls.",
                        "default": "WORK_HOURS",
                        "enum": [
                            "WORK_HOURS",
                            "ANYTIME"
                        ]
                    },
                    "timezone": {
                        "$ref": "#/components/schemas/Timezone"
                    },
                    "details": {
                        "maxItems": 3,
                        "minItems": 2,
                        "type": "array",
                        "description": "Reference of the related party, could be a party reference or a party role reference",
                        "items": {
                            "$ref": "#/components/schemas/ContactsRequestDetails"
                        }
                    }
                },
                "description": "Contact information of a non-registered contact, including contact details."
            },
            "ContactsRequestDetails": {
                "required": [
                    "type",
                    "value"
                ],
                "type": "object",
                "properties": {
                    "type": {
                        "type": "string",
                        "description": "Communications Type",
                        "example": "PHONE",
                        "enum": [
                            "PHONE",
                            "MOBILE",
                            "EMAIL"
                        ]
                    },
                    "value": {
                        "type": "string",
                        "description": "Unique identifier of related type.",
                        "example": "+65-1111111"
                    }
                },
                "description": "Contact details."
            },
            "Attachment": {
                "type": "object",
                "properties": {
                    "id": {
                        "maxLength": 36,
                        "minLength": 36,
                        "type": "string",
                        "description": "Identifier of the binary attachment UUID.",
                        "example": "c77c5f58-a7ea-4e88-9fc4-1a2900027425"
                    },
                    "name": {
                        "maxLength": 100,
                        "minLength": 5,
                        "type": "string",
                        "description": "Name of the binary attachment.",
                        "example": "error-log"
                    }
                },
                "description": "Attachment refers to extensions or additional parts that is or may be attached to something (agreements, contracts, appointments) to perform a particular function. They can be communication attachments, documents and other."
            },
            "purchaseOrder": {
                "type": "object",
                "description": "Purchase order required only when the Account PO Bareing",
                "required": [
                    "type"
                ],
                "properties": {
                    "type": {
                        "type": "string",
                        "enum": [
                            "EXEMPTED",
                            "NEW",
                            "EXISTING"
                        ],
                        "example": "EXISTING",
                        "description": "Type of the Purchase Order"
                    },
                    "number": {
                        "type": "string",
                        "description": "Purchase order number is applicable when `type` is `EXISTING` or `NEW`."
                    },
                    "amount": {
                        "type": "number",
                        "description": "The purchase order amount. This is only applicable when `type` is `NEW`",
                        "example": "2200"
                    },
                    "startDate": {
                        "type": "string",
                        "format": "date",
                        "description": "The start date for which the purchase order is valid for. This is only applicable when `type` is `NEW`",
                        "example": "2020-05-22"
                    },
                    "endDate": {
                        "type": "string",
                        "format": "date",
                        "description": "The end date for which the purchase order is valid for. This is only applicable when `type` is `NEW`.",
                        "example": "2021-05-22"
                    },
                    "attachmentId": {
                        "type": "string",
                        "description": "Attachment ID of Purchase Order document.",
                        "minLength": 36,
                        "maxLength": 36,
                        "example": "8d0bef9c-cca9-11ea-87d0-0242ac130003"
                    }
                }
            },
            "Shipment_Modify_request": {
                "type": "object",
                "properties": {
                    "contacts": {
                        "type": "array",
                        "maxItems": 1,
                        "items": {
                            "$ref": "#/components/schemas/ContactRequestRegisteredUser_Update"
                        }
                    },
                    "requestedDateTime": {
                        "type": "string",
                        "description": "Date the requested date and time.",
                        "format": "date-time",
                        "example": "2020-05-22T19:23:51.000Z"
                    },
                    "details": {
                        "oneOf": [
                            {
                                "$ref": "#/components/schemas/InboundShipmentsUpdate"
                            },
                            {
                                "$ref": "#/components/schemas/OutboundShipmentsUpdate"
                            }
                        ]
                    }
                }
            },
            "InboundShipments_create": {
                "required": [
                    "carrier",
                    "carrierTrackingNumbers",
                    "numberOfBoxes"
                ],
                "allOf": [
                    {
                        "$ref": "#/components/schemas/InboundShipments"
                    }
                ]
            },
            "InboundShipmentsBase": {
                "type": "object",
                "properties": {
                    "carrierName": {
                        "type": "string",
                        "description": "This field should be used to specify carrier name when `carrier` is of `OTHER`",
                        "example": "carrier_name",
                        "minLength": 2,
                        "maxLength": 50
                    },
                    "numberOfBoxes": {
                        "type": "number",
                        "description": "Number of boxes to be received.",
                        "maximum": 100000,
                        "example": 10
                    }
                }
            },
            "InboundShipments": {
                "type": "object",
                "allOf": [
                    {
                        "properties": {
                            "carrier": {
                                "type": "string",
                                "description": "The carrier service that will be delivering the shipment.",
                                "enum": [
                                    "DHL",
                                    "FEDEX",
                                    "UPS",
                                    "OTHER",
                                    "CUSTOMER_CARRIER"
                                ]
                            },
                            "carrierTrackingNumbers": {
                                "type": "array",
                                "description": "Shipment tracking number. This field is optional when carrier is of `CUSTOMER_CARRIER`",
                                "items": {
                                    "type": "string",
                                    "example": "123466ABCXYZ",
                                    "maxLength": 100
                                }
                            }
                        }
                    },
                    {
                        "$ref": "#/components/schemas/InboundShipmentsBase"
                    },
                    {
                        "properties": {
                            "cageDelivery": {
                                "type": "boolean",
                                "default": false,
                                "description": "When set to `true`, shipment will be delivered to cage."
                            }
                        }
                    }
                ]
            },
            "InboundShipmentsUpdate": {
                "type": "object",
                "allOf": [
                    {
                        "properties": {
                            "carrier": {
                                "type": "string",
                                "description": "The carrier service that will be delivering the shipment.",
                                "enum": [
                                    "DHL",
                                    "FEDEX",
                                    "UPS",
                                    "OTHER"
                                ]
                            },
                            "carrierTrackingNumbers": {
                                "type": "array",
                                "description": "Shipment tracking number.",
                                "items": {
                                    "type": "string",
                                    "example": "123466ABCXYZ",
                                    "maxLength": 100
                                }
                            }
                        }
                    },
                    {
                        "$ref": "#/components/schemas/InboundShipmentsBase"
                    },
                    {
                        "properties": {
                            "cageDelivery": {
                                "type": "boolean",
                                "description": "When set to `true`, shipment will be delivered to cage."
                            }
                        }
                    }
                ]
            },
            "OutboundShipments_create": {
                "required": [
                    "carrier"
                ],
                "allOf": [
                    {
                        "$ref": "#/components/schemas/OutboundShipments"
                    }
                ]
            },
            "OutboundShipmentsBase": {
                "type": "object",
                "properties": {
                    "carrierTrackingNumbers": {
                        "type": "array",
                        "description": "Shipment tracking number. This field is optional when carrier is of `CUSTOMER_CARRIER`",
                        "minItems": 1,
                        "maxItems": 1,
                        "items": {
                            "type": "string",
                            "example": "123466ABCXYZ",
                            "maxLength": 100
                        }
                    },
                    "carrierName": {
                        "type": "string",
                        "description": "This field should be used to specify carrier name when `carrier` is of `OTHER`.",
                        "example": "carrier_name",
                        "minLength": 2,
                        "maxLength": 50
                    },
                    "numberOfBoxes": {
                        "type": "number",
                        "description": "Number of boxes to be sent. This field is optional when carrier is of `CUSTOMER_CARRIER` ",
                        "example": "10",
                        "maximum": 100000
                    },
                    "declaredValue": {
                        "type": "number",
                        "description": "Declared value of outbound shipment in dollars. This field is optional when carrier is of `CUSTOMER_CARRIER`",
                        "example": "100"
                    }
                }
            },
            "shipmentAddress": {
                "type": "object",
                "title": "Address details",
                "properties": {
                    "carrierAccountNumber": {
                        "type": "string",
                        "description": "Shipment Carrier account number",
                        "example": "DHL930182000"
                    },
                    "shipToName": {
                        "type": "string",
                        "description": "Shipment receiver name",
                        "example": "Jack Ma"
                    },
                    "addressLine1": {
                        "type": "string",
                        "description": "Address line 1",
                        "example": "ABC - Level 9 Communications LLC"
                    },
                    "addressLine2": {
                        "type": "string",
                        "description": "Address line 2",
                        "example": "CLK0l Media Processing Center"
                    },
                    "city": {
                        "type": "string",
                        "description": "City name.",
                        "example": "Phoenix"
                    },
                    "state": {
                        "type": "string",
                        "description": "State of the city.",
                        "example": "California"
                    },
                    "countryCode": {
                        "type": "string",
                        "description": "`ISO-3166 ALPHA-2` Country code.",
                        "enum": [
                            "AX",
                            "AF",
                            "AL",
                            "DZ",
                            "AS",
                            "AD",
                            "AO",
                            "AI",
                            "AQ",
                            "AG",
                            "AR",
                            "AM",
                            "AW",
                            "AU",
                            "AT",
                            "AZ",
                            "BS",
                            "BH",
                            "BD",
                            "BB",
                            "BY",
                            "BE",
                            "BZ",
                            "BJ",
                            "BM",
                            "BT",
                            "BO",
                            "BA",
                            "BW",
                            "BV",
                            "BR",
                            "IO",
                            "BN",
                            "BG",
                            "BF",
                            "BI",
                            "KH",
                            "CM",
                            "CA",
                            "CV",
                            "KY",
                            "CF",
                            "TD",
                            "CL",
                            "CN",
                            "CX",
                            "CC",
                            "CO",
                            "KM",
                            "CD",
                            "CG",
                            "CK",
                            "CR",
                            "CI",
                            "HR",
                            "CU",
                            "CY",
                            "CZ",
                            "DK",
                            "DJ",
                            "DM",
                            "DO",
                            "EC",
                            "EG",
                            "SV",
                            "GQ",
                            "ER",
                            "EE",
                            "ET",
                            "FK",
                            "FO",
                            "FJ",
                            "FI",
                            "FR",
                            "GF",
                            "PF",
                            "TF",
                            "GA",
                            "GM",
                            "GE",
                            "DE",
                            "GH",
                            "GI",
                            "GR",
                            "GL",
                            "GD",
                            "GP",
                            "GU",
                            "GT",
                            "GN",
                            "GW",
                            "GY",
                            "HT",
                            "HM",
                            "HN",
                            "HK",
                            "HU",
                            "IS",
                            "IN",
                            "ID",
                            "IR",
                            "IQ",
                            "IE",
                            "IL",
                            "IT",
                            "JM",
                            "JP",
                            "JO",
                            "KZ",
                            "KE",
                            "KI",
                            "KP",
                            "KR",
                            "KW",
                            "KG",
                            "LA",
                            "LV",
                            "LB",
                            "LS",
                            "LR",
                            "LY",
                            "LI",
                            "LT",
                            "LU",
                            "MO",
                            "MK",
                            "MG",
                            "MW",
                            "MY",
                            "MV",
                            "ML",
                            "MT",
                            "MH",
                            "MQ",
                            "MR",
                            "MU",
                            "YT",
                            "MX",
                            "FM",
                            "MD",
                            "MC",
                            "MN",
                            "MS",
                            "MA",
                            "MZ",
                            "MM",
                            "NA",
                            "NR",
                            "NP",
                            "NL",
                            "AN",
                            "NC",
                            "NZ",
                            "NI",
                            "NE",
                            "NG",
                            "NU",
                            "NF",
                            "MP",
                            "NO",
                            "OM",
                            "PK",
                            "PW",
                            "PS",
                            "PA",
                            "PG",
                            "PY",
                            "PE",
                            "PH",
                            "PN",
                            "PL",
                            "PT",
                            "PR",
                            "QA",
                            "RE",
                            "RO",
                            "RU",
                            "RW",
                            "SH",
                            "KN",
                            "LC",
                            "PM",
                            "VC",
                            "WS",
                            "SM",
                            "ST",
                            "SA",
                            "SN",
                            "CS",
                            "SC",
                            "SL",
                            "SG",
                            "SK",
                            "SI",
                            "SB",
                            "SO",
                            "ZA",
                            "GS",
                            "ES",
                            "LK",
                            "SD",
                            "SR",
                            "SJ",
                            "SZ",
                            "SE",
                            "CH",
                            "SY",
                            "TW",
                            "TJ",
                            "TZ",
                            "TH",
                            "TL",
                            "TG",
                            "TK",
                            "TO",
                            "TT",
                            "TN",
                            "TR",
                            "TM",
                            "TC",
                            "TV",
                            "UG",
                            "UA",
                            "AE",
                            "GB",
                            "US",
                            "UM",
                            "UY",
                            "UZ",
                            "VU",
                            "VA",
                            "VE",
                            "VN",
                            "VG",
                            "VI",
                            "WF",
                            "EH",
                            "YE",
                            "ZM",
                            "ZW"
                        ],
                        "example": "US"
                    },
                    "zipCode": {
                        "type": "string",
                        "description": "Postal address",
                        "example": 94086
                    },
                    "phoneNumber": {
                        "type": "string",
                        "description": "Ship To contact phone number",
                        "example": "+1 6503890931"
                    }
                }
            },
            "OutboundShipments": {
                "allOf": [
                    {
                        "properties": {
                            "carrier": {
                                "type": "string",
                                "description": "The carrier service that will be delivering the shipment.",
                                "enum": [
                                    "DHL",
                                    "FEDEX",
                                    "UPS",
                                    "OTHER",
                                    "CUSTOMER_CARRIER"
                                ]
                            }
                        }
                    },
                    {
                        "$ref": "#/components/schemas/OutboundShipmentsBase"
                    },
                    {
                        "properties": {
                            "declaredValueCurrency": {
                                "$ref": "#/components/schemas/DeclaredValueCurrency"
                            },
                            "requirePickup": {
                                "type": "boolean",
                                "default": false,
                                "description": "When set to `true`, Equinix will pick up shipment from your cage. Note that this will incur additional Smarthands fees based on contract rate."
                            },
                            "insureShipment": {
                                "type": "boolean",
                                "default": false,
                                "description": "When set to `true`, Equinix will insure outbound shipment .Note that this will incur additional Smarthands fees based on contract rate."
                            },
                            "shipmentLabelRequired": {
                                "type": "boolean",
                                "default": true,
                                "description": "When set to `true`, Equinix will print shipment label for your package. Address information for shipment label can be uploaded as an label attachment or as address fields."
                            },
                            "shipmentAttachmentId": {
                                "type": "string",
                                "description": "Attachment ID of uploaded shipment label. Refer to Attachment API on how to upload documents via API"
                            },
                            "shipmentAddress": {
                                "$ref": "#/components/schemas/shipmentAddress"
                            }
                        }
                    }
                ]
            },
            "OutboundShipmentsUpdate": {
                "allOf": [
                    {
                        "properties": {
                            "carrier": {
                                "type": "string",
                                "description": "The carrier service that will be delivering the shipment.",
                                "enum": [
                                    "DHL",
                                    "FEDEX",
                                    "UPS",
                                    "OTHER"
                                ]
                            },
                            "carrierTrackingNumbers": {
                                "type": "array",
                                "description": "Shipment tracking number.",
                                "minItems": 1,
                                "maxItems": 1,
                                "items": {
                                    "type": "string",
                                    "example": "123466ABCXYZ",
                                    "maxLength": 100
                                }
                            },
                            "carrierName": {
                                "type": "string",
                                "description": "This field should be used to specify carrier name when `carrier` is of `OTHER`.",
                                "example": "carrier_name",
                                "minLength": 2,
                                "maxLength": 50
                            },
                            "numberOfBoxes": {
                                "type": "number",
                                "description": "Number of boxes to be sent. ",
                                "example": "10",
                                "maximum": 100000
                            },
                            "declaredValue": {
                                "type": "number",
                                "description": "Declared value of outbound shipment in dollars. ",
                                "example": "100"
                            },
                            "declaredValueCurrency": {
                                "$ref": "#/components/schemas/DeclaredValueCurrency"
                            },
                            "requirePickup": {
                                "type": "boolean",
                                "description": "When set to `true`, Equinix will pick up shipment from your cage. Note that this will incur additional Smarthands fees based on contract rate."
                            },
                            "insureShipment": {
                                "type": "boolean",
                                "description": "When set to `true`, Equinix will insure outbound shipment .Note that this will incur additional Smarthands fees based on contract rate."
                            },
                            "shipmentAttachmentId": {
                                "type": "string",
                                "description": "Attachment ID of uploaded shipment label. Refer to Attachment API on how to upload documents via API"
                            },
                            "shipmentAddress": {
                                "$ref": "#/components/schemas/shipmentAddress"
                            }
                        }
                    }
                ]
            },
            "ContactRequestRegisteredUser_Update": {
                "type": "object",
                "description": "Contact information.",
                "required": [
                    "registeredUsers",
                    "type"
                ],
                "properties": {
                    "registeredUsers": {
                        "description": "Username for the registered user party",
                        "type": "array",
                        "maxItems": 10,
                        "items": {
                            "type": "string",
                            "example": "john_doe"
                        },
                        "minItems": 1
                    },
                    "type": {
                        "type": "string",
                        "description": "Type of contact",
                        "enum": [
                            "NOTIFICATION"
                        ]
                    }
                }
            }
        }
    }
}