eqixiacEquinix Infrastructure as Code

Orders and tickets

Order history across all order types, and trouble tickets.

Order history#

Java
import com.eqixiac.equinix.operations.enums.OrderHistoryProductType;
import com.eqixiac.equinix.operations.enums.OrderHistoryStatus;
import com.eqixiac.equinix.operations.model.OrderHistoryItem;
import com.eqixiac.equinix.operations.model.json.creators.OrderHistorySearchRequest;

OrderHistorySearchRequest request = OrderHistorySearchRequest.builder()
    .filters(OrderHistorySearchRequest.Filters.builder()
        .productTypes(OrderHistoryProductType.TROUBLE)
        .orderStatus(List.of(OrderHistoryStatus.SUBMITTED, OrderHistoryStatus.IN_PROGRESS))
        .ibxs(List.of("DC6", "DC11"))
        .build())
    .page(new OrderHistorySearchRequest.PageRequest(0, 50))
    .build();

for (OrderHistoryItem order : ops.orderHistory().search(request)) {
    System.out.println(order.getOrderNumber() + " " + order.getOrderStatus() + " " + order.getType()
        + " " + order.getIbx() + " created " + order.getCreatedAt());
}

searchPage(request) returns the items with the paging block. The Tickets v2 API has no list operation, so tickets are listed through order history with product type TROUBLE. The live service rejects TROUBLE_TICKET with HTTP 400 EQX-171-1212.

The live service names several order-history fields differently from the specification. The SDK reads both forms: accountNumber and accountName, orderingContacts, and the contact fields firstName, lastName, emailAddress, workPhone. getNotificationContacts(), getTechnicalContacts() and getOrderSource() are new in 4.0.

Trouble tickets#

Java
import com.eqixiac.equinix.operations.enums.TicketCode;
import com.eqixiac.equinix.operations.model.TroubleTicket;
import com.eqixiac.equinix.operations.model.json.creators.TicketNoteRequest;
import com.eqixiac.equinix.operations.model.json.creators.TroubleTicketCreateRequest;

String ticketId = ops.troubleTickets().create(
    TroubleTicketCreateRequest.builder(
            TicketCode.CODE_0001_0000,                       // problem code from the Tickets v2 catalogue
            "Link down on cross connect 20012345-A since 02:14 UTC, no light received on our side",
            "2026-11-12T02:14:00Z",                          // when the problem occurred
            "DC6:01:012345")                                 // primary identifier of the affected asset
        .customerReferenceId("INC-48211")
        .build());

TroubleTicket ticket = ops.troubleTickets().getByUuid(ticketId);
ops.troubleTickets().addNote(ticketId, new TicketNoteRequest("Our optic was replaced at 02:40 UTC, still no light"));

The TicketCode constants are the numeric problem codes of the Tickets v2 specification, for example 0001-0000. The Equinix ticket documentation lists the problem category that each code stands for.