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
@Betaannotation, 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
dryRunfor 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#
| Accessor | Family | Operations |
|---|---|---|
asns() | Customer ASNs: register an ASN, prove ownership, list the assets that use it | create, search, get, update, delete |
exchangeServices() | Internet Exchange services: public peering on an Equinix IX | create, search, get, update, actions |
appDomains(), appLinks(), appProcessors(), appServices(), appSubscriptions() | Application Connect: domains, links, processors, services and subscriptions, with attach and detach operations between them | create, search, get, update, delete, attach, detach |
opticalConnects() | Optical Metro Connect | create, create diverse pair, search, get |
crossConnects() | Cross connects ordered through Fabric: schedules, services, attachments, notes, actions | create, create diverse pair, search, get, actions |
loas() | Digital Letters of Authorization | create, search, get, update, actions, notes, consumers |
tags() | Single-tag lookup | get |
logos() | Logo upload and download for profiles | create, 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#
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.
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 ASNThe following block catches the two exceptions that an unentitled account or a withdrawn Beta endpoint produces.
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 theactivationKeyandenvironmentaccess-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.