eqixiacEquinix Infrastructure as Code

Beta families Beta

The Fabric v4 API families that the specification labels Beta, exposed under fabric.beta().

Status#

fabric.beta() returns FabricBeta, a hub with one typed client per Fabric v4 family that specification 4.34.0 (read 2026-11-11) labels Beta. All of these clients are new in 4.0. They differ from the rest of the SDK in three respects.

  • Equinix can change or withdraw a Beta endpoint without the usual deprecation period. The SDK types carry the @Beta annotation, which records the specification version, and they may change in a minor SDK release when the specification changes. See Versioning.
  • The account needs an entitlement for each family, and an account without it typically receives HTTP 403 or 404.
  • The specification defines no dryRun for any of these operations. A create for a cross connect, an LOA or an Optical Metro Connect therefore places a physical order.

The Beta models follow the specification's schemas one to one, and the endpoint catalogue lists 82 operations. They are covered by unit and WireMock tests and were not part of the live validation of 2026-11-11.

Families#

AccessorFamilyOperations
asns()Customer ASNs: register an ASN, prove ownership, list the assets that use itcreate, search, get, update, delete
exchangeServices()Internet Exchange services: public peering on an Equinix IXcreate, search, get, update, actions
appDomains(), appLinks(), appProcessors(), appServices(), appSubscriptions()Application Connect: domains, links, processors, services and subscriptions, with attach and detach operations between themcreate, search, get, update, delete, attach, detach
opticalConnects()Optical Metro Connectcreate, create diverse pair, search, get
crossConnects()Cross connects ordered through Fabric: schedules, services, attachments, notes, actionscreate, create diverse pair, search, get, actions
loas()Digital Letters of Authorizationcreate, search, get, update, actions, notes, consumers
tags()Single-tag lookupget
logos()Logo upload and download for profilescreate, download, delete

The models are in fabric.beta.model and the enums in fabric.beta.enums, each with an UNKNOWN constant for values the SDK does not list. The Beta endpoints are declared in their own endpoint catalogue file, separate from the generally available Fabric endpoints.

Reads#

Java
import com.eqixiac.equinix.fabric.beta.client.FabricBeta;
import com.eqixiac.equinix.fabric.beta.model.Asn;
import com.eqixiac.equinix.fabric.beta.model.CrossConnectResponse;
import com.eqixiac.equinix.fabric.beta.model.ExchangeServiceResponse;
import com.eqixiac.equinix.fabric.model.implementation.filter.FilterPropertyList;
import com.eqixiac.equinix.fabric.model.implementation.filter.FilterType;

FabricBeta beta = fabric.beta();

for (Asn asn : beta.asns().search()) {
    System.out.println("AS" + asn.getNumber() + " " + asn.getState() + " " + asn.getRirRegion());
}

for (ExchangeServiceResponse ix : beta.exchangeServices().search()) {
    System.out.println(ix.getName() + " " + ix.getBandwidth() + " Mbps " + ix.getState());
}

FilterPropertyList inProject = new FilterPropertyList(FilterType.AND).equals("/project/projectId", projectId);
for (CrossConnectResponse xc : beta.crossConnects().search(inProject)) {
    System.out.println(xc.getUuid() + " " + xc.getName() + " " + xc.getState() + " circuit " + xc.getCircuitId());
}

Searches return PaginatedFilteredList, with the same paging rules as the rest of Fabric.

Writes#

A request model is an object with chained setters, and an update takes a list of JSON Patch operations.

Java
import com.eqixiac.equinix.fabric.beta.enums.AsnRirRegion;
import com.eqixiac.equinix.fabric.beta.model.CreateAsnRequest;

Asn registered = fabric.beta().asns().create(new CreateAsnRequest()
    .setNumber(64512L)
    .setRirRegion(AsnRirRegion.ARIN));

System.out.println(registered.getOwnershipChallengeDetails());   // how to prove ownership of the ASN

The following block catches the two exceptions that an unentitled account or a withdrawn Beta endpoint produces.

Java
import com.eqixiac.equinix.core.exception.EquinixAuthorizationException;
import com.eqixiac.equinix.core.exception.EquinixNotFoundException;

try {
    fabric.beta().loas().search().forEach(loa -> System.out.println(loa.getUuid() + " " + loa.getState()));
} catch (EquinixAuthorizationException | EquinixNotFoundException e) {
    // not entitled, or the Beta endpoint is not available to this account
}

Other Beta surfaces#

Two further Beta surfaces are reached outside fabric.beta(), and Cloud-to-cloud describes both.

  • Provider environments and activation-key validation on fabric.serviceProfiles(), with the activationKey and environment access-point properties.
  • The design-layer planning and pricing of native cloud-to-cloud links.

Relation to the Customer Portal cross connects#

The Customer Portal domain also orders cross connects, through the colocation order APIs, which are generally available and return an order number. The Beta family on this page models a cross connect as a Fabric resource with a UUID, a state, schedules and actions. The Customer Portal APIs are the choice for an account without the Beta entitlement, and for an account that does not need the cross connect as a readable resource.