Overview
Scope, layers, exclusions and requirements.
Scope#
eqixiac is a Java 21 library, package com.eqixiac.equinix, published as com.eqixiac.equinix:equinix-sdk-java. The code is written by hand against the OpenAPI specifications in the Equinix API catalog, without a code generator. The library has three layers.
API layer#
The API layer has typed clients for eight Equinix API domains, each with an entry-point class and one client interface per resource.
| Domain | Entry point | Coverage |
|---|---|---|
| Fabric v4 | Fabric | About 197 endpoints: connections, ports, Cloud Routers, routing protocols, route filters and aggregations, service profiles, service tokens, networks, streams, Precision Time, prices, metrics, cloud events, and the Beta families under fabric.beta() |
| Network Edge | NetworkEdge | 66 endpoints: virtual devices, ACL templates, VPNs, BGP peerings, device links, public keys, backups, setup data |
| Customer Portal | CustomerPortal | Orders and order history, cross connects, Smart Hands, trouble tickets, work visits, shipments, billing, reports, Digital LOA |
| Internet Access | InternetAccess | EIA v2 service lifecycle, per-IBX availability, EIA v1 catalog reads |
| IBX SmartView | IBXSmartView | Environmental readings, power events, system alerts, streaming subscriptions, asset hierarchy |
| IAM | IAM | Roles, role assignments, access policies, permission sets, principal policies, effective permissions |
| STS | STS | RFC 8693 token exchange, OIDC providers, JWKS and OpenID discovery |
| Projects | Projects | Project listing from resourceManager/v2 |
The endpoint counts come from the review of 2026-11-11 against Fabric v4 specification 4.34.0 and network-edgev1 1.0.0.
All clients share the same transport behaviour: pagination, retries with an idempotency rule, one replay after HTTP 401, a typed error hierarchy and dry run wherever the specification defines it.
Design layer#
The design engines read through the Fabric client: the Metro Optimizer, the Deployment Wizard, Peering Intelligence, and the cost and value calculators. Only the execution of a deployment plan changes an account. In 4.0 the engines share one input document, the DesignSpec.
MCP server#
The Model Context Protocol server is packaged as a second, runnable jar. It runs locally over stdio under the operator's own API credentials and exposes the design engines and five cross-domain reads as tools. It can create resources only through the Safe Mutation Broker, which is disabled by default.
Exclusions#
- Not published or supported by Equinix (About).
- No cloud provider API calls. A cloud adapter carries the provider's identifiers into a Fabric request. The AWS, Azure, Google Cloud or Oracle side of a connection is created with that provider's tooling.
- No Equinix Metal. Metal has its own API and SDKs.
- No Fabric One client. No API reference was published as of 2026-11-11.
- No Terraform state management. The Deployment Wizard exports HCL for the Equinix Terraform provider.
- Cost figures are design-time estimates, not quotes. Each figure carries its source and date (price sources).
Requirements#
| Item | Value |
|---|---|
| Java | 21 or later |
| Build | Maven 3.6 or later (to build from source) |
| Runtime dependencies | Jackson 2.21.1, Apache HttpClient 4.5.14, SLF4J API 2.0.13 |
| Optional dependencies | MCP Java SDK 2.0.0 and slf4j-simple, used only by the MCP server jar and not inherited by library consumers |
| License | Apache License 2.0 |
Conventions in the code samples#
The Java blocks are compiled against the SDK classes before publication. They assume these variables, created as shown under Authentication and Sessions.
| Variable | Type |
|---|---|
eq | Equinix session |
fabric, networkEdge, portal, internet, smartView, iam, sts, projects | The domain clients, for example eq.fabric() |
credentials | BasicEquinixCredentials |
portUuid, profileUuid, routerUuid, projectId and similar | String identifiers from your own account |
Each page lists its imports in the first block that needs them. java.util.*, java.math.BigDecimal, java.time.*, java.nio.file.Files and java.nio.file.Path are assumed.