Equinix · Capability
Metal API — Interconnections
Metal API — Interconnections. 15 operations. Lead operation: Delete interconnection. Self-contained Naftiko capability covering one Equinix business surface.
What You Can Do
DELETE
Deleteinterconnection
— Delete interconnection
/v1/connections/{connection-id}
GET
Getinterconnection
— Get interconnection
/v1/connections/{connection-id}
PUT
Updateinterconnection
— Update interconnection
/v1/connections/{connection-id}
GET
Listinterconnectionports
— List a interconnection's ports
/v1/connections/{connection-id}/ports
GET
Getinterconnectionport
— Get a interconnection port
/v1/connections/{connection-id}/ports/{id}
GET
Listinterconnectionportvirtualcircuits
— List a interconnection port's virtual circuits
/v1/connections/{connection-id}/ports/{port-id}/virtual-circuits
POST
Createinterconnectionportvirtualcircuit
— Create a new Virtual Circuit
/v1/connections/{connection-id}/ports/{port-id}/virtual-circuits
GET
Listinterconnectionvirtualcircuits
— List a interconnection's virtual circuits
/v1/connections/{connection-id}/virtual-circuits
GET
Organizationlistinterconnections
— List organization connections
/v1/organizations/{organization-id}/connections
POST
Createorganizationinterconnection
— Request a new interconnection for the organization
/v1/organizations/{organization-id}/connections
GET
Projectlistinterconnections
— List project connections
/v1/projects/{project-id}/connections
POST
Createprojectinterconnection
— Request a new interconnection for the project's organization
/v1/projects/{project-id}/connections
DELETE
Deletevirtualcircuit
— Delete a virtual circuit
/v1/virtual-circuits/{id}
GET
Getvirtualcircuit
— Get a virtual circuit
/v1/virtual-circuits/{id}
PUT
Updatevirtualcircuit
— Update a virtual circuit
/v1/virtual-circuits/{id}
MCP Tools
delete-interconnection
Delete interconnection
idempotent
get-interconnection
Get interconnection
read-only
idempotent
update-interconnection
Update interconnection
idempotent
list-interconnection-s-ports
List a interconnection's ports
read-only
idempotent
get-interconnection-port
Get a interconnection port
read-only
idempotent
list-interconnection-port-s-virtual-circuits
List a interconnection port's virtual circuits
read-only
idempotent
create-new-virtual-circuit
Create a new Virtual Circuit
list-interconnection-s-virtual-circuits
List a interconnection's virtual circuits
read-only
idempotent
list-organization-connections
List organization connections
read-only
idempotent
request-new-interconnection-organization
Request a new interconnection for the organization
list-project-connections
List project connections
read-only
idempotent
request-new-interconnection-project-s-organization
Request a new interconnection for the project's organization
delete-virtual-circuit
Delete a virtual circuit
idempotent
get-virtual-circuit
Get a virtual circuit
read-only
idempotent
update-virtual-circuit
Update a virtual circuit
idempotent
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: Metal API — Interconnections
description: 'Metal API — Interconnections. 15 operations. Lead operation: Delete interconnection. Self-contained Naftiko
capability covering one Equinix business surface.'
tags:
- Equinix
- Interconnections
created: '2026-05-19'
modified: '2026-05-19'
binds:
- namespace: env
keys:
EQUINIX_API_KEY: EQUINIX_API_KEY
capability:
consumes:
- type: http
namespace: metal-interconnections
baseUri: https://api.equinix.com/metal/v1
description: Metal API — Interconnections business capability. Self-contained, no shared references.
resources:
- name: connections-connection_id
path: /connections/{connection_id}
operations:
- name: deleteinterconnection
method: DELETE
description: Delete interconnection
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: connection_id
in: path
type: string
description: Interconnection UUID
required: true
- name: include
in: query
type: array
description: Nested attributes to include. Included objects will return their full
- name: exclude
in: query
type: array
description: Nested attributes to exclude. Excluded objects will return only the href
- name: getinterconnection
method: GET
description: Get interconnection
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: connection_id
in: path
type: string
description: Interconnection UUID
required: true
- name: include
in: query
type: array
description: Nested attributes to include. Included objects will return their full
- name: exclude
in: query
type: array
description: Nested attributes to exclude. Excluded objects will return only the href
- name: updateinterconnection
method: PUT
description: Update interconnection
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: connection_id
in: path
type: string
description: Interconnection UUID
required: true
- name: include
in: query
type: array
description: Nested attributes to include. Included objects will return their full
- name: exclude
in: query
type: array
description: Nested attributes to exclude. Excluded objects will return only the href
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: connections-connection_id-ports
path: /connections/{connection_id}/ports
operations:
- name: listinterconnectionports
method: GET
description: List a interconnection's ports
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: connection_id
in: path
type: string
description: UUID of the interconnection
required: true
- name: connections-connection_id-ports-id
path: /connections/{connection_id}/ports/{id}
operations:
- name: getinterconnectionport
method: GET
description: Get a interconnection port
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: connection_id
in: path
type: string
description: UUID of the interconnection
required: true
- name: id
in: path
type: string
description: Port UUID
required: true
- name: include
in: query
type: array
description: Nested attributes to include. Included objects will return their full
- name: exclude
in: query
type: array
description: Nested attributes to exclude. Excluded objects will return only the href
- name: connections-connection_id-ports-port_id-virtual-circuits
path: /connections/{connection_id}/ports/{port_id}/virtual-circuits
operations:
- name: listinterconnectionportvirtualcircuits
method: GET
description: List a interconnection port's virtual circuits
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: connection_id
in: path
type: string
description: UUID of the interconnection
required: true
- name: port_id
in: path
type: string
description: UUID of the interconnection port
required: true
- name: include
in: query
type: array
description: Nested attributes to include. Included objects will return their full
- name: exclude
in: query
type: array
description: Nested attributes to exclude. Excluded objects will return only the href
- name: createinterconnectionportvirtualcircuit
method: POST
description: Create a new Virtual Circuit
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: connection_id
in: path
type: string
description: UUID of the interconnection
required: true
- name: port_id
in: path
type: string
description: UUID of the interconnection port
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: connections-connection_id-virtual-circuits
path: /connections/{connection_id}/virtual-circuits
operations:
- name: listinterconnectionvirtualcircuits
method: GET
description: List a interconnection's virtual circuits
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: connection_id
in: path
type: string
description: UUID of the interconnection
required: true
- name: organizations-organization_id-connections
path: /organizations/{organization_id}/connections
operations:
- name: organizationlistinterconnections
method: GET
description: List organization connections
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: organization_id
in: path
type: string
description: UUID of the organization
required: true
- name: include
in: query
type: array
description: Nested attributes to include. Included objects will return their full
- name: exclude
in: query
type: array
description: Nested attributes to exclude. Excluded objects will return only the href
- name: createorganizationinterconnection
method: POST
description: Request a new interconnection for the organization
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: organization_id
in: path
type: string
description: UUID of the organization
required: true
- name: include
in: query
type: array
description: Nested attributes to include. Included objects will return their full
- name: exclude
in: query
type: array
description: Nested attributes to exclude. Excluded objects will return only the href
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: projects-project_id-connections
path: /projects/{project_id}/connections
operations:
- name: projectlistinterconnections
method: GET
description: List project connections
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: project_id
in: path
type: string
description: UUID of the project
required: true
- name: include
in: query
type: array
description: Nested attributes to include. Included objects will return their full
- name: exclude
in: query
type: array
description: Nested attributes to exclude. Excluded objects will return only the href
- name: page
in: query
type: integer
description: Page to return
- name: per_page
in: query
type: integer
description: Items returned per page
- name: createprojectinterconnection
method: POST
description: Request a new interconnection for the project's organization
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: project_id
in: path
type: string
description: UUID of the project
required: true
- name: include
in: query
type: array
description: Nested attributes to include. Included objects will return their full
- name: exclude
in: query
type: array
description: Nested attributes to exclude. Excluded objects will return only the href
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: virtual-circuits-id
path: /virtual-circuits/{id}
operations:
- name: deletevirtualcircuit
method: DELETE
description: Delete a virtual circuit
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: id
in: path
type: string
description: Virtual Circuit UUID
required: true
- name: include
in: query
type: array
description: Nested attributes to include. Included objects will return their full
- name: exclude
in: query
type: array
description: Nested attributes to exclude. Excluded objects will return only the href
- name: getvirtualcircuit
method: GET
description: Get a virtual circuit
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: id
in: path
type: string
description: Virtual Circuit UUID
required: true
- name: include
in: query
type: array
description: Nested attributes to include. Included objects will return their full
- name: exclude
in: query
type: array
description: Nested attributes to exclude. Excluded objects will return only the href
- name: updatevirtualcircuit
method: PUT
description: Update a virtual circuit
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: id
in: path
type: string
description: Virtual Circuit UUID
required: true
- name: include
in: query
type: array
description: Nested attributes to include. Included objects will return their full
- name: exclude
in: query
type: array
description: Nested attributes to exclude. Excluded objects will return only the href
- name: body
in: body
type: object
description: Request body (JSON).
required: true
authentication:
type: apikey
key: X-Auth-Token
value: '{{env.EQUINIX_API_KEY}}'
placement: header
exposes:
- type: rest
namespace: metal-interconnections-rest
port: 8080
description: REST adapter for Metal API — Interconnections. One Spectral-compliant resource per consumed operation, prefixed
with /v1.
resources:
- path: /v1/connections/{connection-id}
name: connections-connection-id
description: REST surface for connections-connection_id.
operations:
- method: DELETE
name: deleteinterconnection
description: Delete interconnection
call: metal-interconnections.deleteinterconnection
with:
connection_id: rest.connection_id
include: rest.include
exclude: rest.exclude
outputParameters:
- type: object
mapping: $.
- method: GET
name: getinterconnection
description: Get interconnection
call: metal-interconnections.getinterconnection
with:
connection_id: rest.connection_id
include: rest.include
exclude: rest.exclude
outputParameters:
- type: object
mapping: $.
- method: PUT
name: updateinterconnection
description: Update interconnection
call: metal-interconnections.updateinterconnection
with:
connection_id: rest.connection_id
include: rest.include
exclude: rest.exclude
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/connections/{connection-id}/ports
name: connections-connection-id-ports
description: REST surface for connections-connection_id-ports.
operations:
- method: GET
name: listinterconnectionports
description: List a interconnection's ports
call: metal-interconnections.listinterconnectionports
with:
connection_id: rest.connection_id
outputParameters:
- type: object
mapping: $.
- path: /v1/connections/{connection-id}/ports/{id}
name: connections-connection-id-ports-id
description: REST surface for connections-connection_id-ports-id.
operations:
- method: GET
name: getinterconnectionport
description: Get a interconnection port
call: metal-interconnections.getinterconnectionport
with:
connection_id: rest.connection_id
id: rest.id
include: rest.include
exclude: rest.exclude
outputParameters:
- type: object
mapping: $.
- path: /v1/connections/{connection-id}/ports/{port-id}/virtual-circuits
name: connections-connection-id-ports-port-id-virtual-circuits
description: REST surface for connections-connection_id-ports-port_id-virtual-circuits.
operations:
- method: GET
name: listinterconnectionportvirtualcircuits
description: List a interconnection port's virtual circuits
call: metal-interconnections.listinterconnectionportvirtualcircuits
with:
connection_id: rest.connection_id
port_id: rest.port_id
include: rest.include
exclude: rest.exclude
outputParameters:
- type: object
mapping: $.
- method: POST
name: createinterconnectionportvirtualcircuit
description: Create a new Virtual Circuit
call: metal-interconnections.createinterconnectionportvirtualcircuit
with:
connection_id: rest.connection_id
port_id: rest.port_id
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/connections/{connection-id}/virtual-circuits
name: connections-connection-id-virtual-circuits
description: REST surface for connections-connection_id-virtual-circuits.
operations:
- method: GET
name: listinterconnectionvirtualcircuits
description: List a interconnection's virtual circuits
call: metal-interconnections.listinterconnectionvirtualcircuits
with:
connection_id: rest.connection_id
outputParameters:
- type: object
mapping: $.
- path: /v1/organizations/{organization-id}/connections
name: organizations-organization-id-connections
description: REST surface for organizations-organization_id-connections.
operations:
- method: GET
name: organizationlistinterconnections
description: List organization connections
call: metal-interconnections.organizationlistinterconnections
with:
organization_id: rest.organization_id
include: rest.include
exclude: rest.exclude
outputParameters:
- type: object
mapping: $.
- method: POST
name: createorganizationinterconnection
description: Request a new interconnection for the organization
call: metal-interconnections.createorganizationinterconnection
with:
organization_id: rest.organization_id
include: rest.include
exclude: rest.exclude
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/projects/{project-id}/connections
name: projects-project-id-connections
description: REST surface for projects-project_id-connections.
operations:
- method: GET
name: projectlistinterconnections
description: List project connections
call: metal-interconnections.projectlistinterconnections
with:
project_id: rest.project_id
include: rest.include
exclude: rest.exclude
page: rest.page
per_page: rest.per_page
outputParameters:
- type: object
mapping: $.
- method: POST
name: createprojectinterconnection
description: Request a new interconnection for the project's organization
call: metal-interconnections.createprojectinterconnection
with:
project_id: rest.project_id
include: rest.include
exclude: rest.exclude
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/virtual-circuits/{id}
name: virtual-circuits-id
description: REST surface for virtual-circuits-id.
operations:
- method: DELETE
name: deletevirtualcircuit
description: Delete a virtual circuit
call: metal-interconnections.deletevirtualcircuit
with:
id: rest.id
include: rest.include
exclude: rest.exclude
outputParameters:
- type: object
mapping: $.
- method: GET
name: getvirtualcircuit
description: Get a virtual circuit
call: metal-interconnections.getvirtualcircuit
with:
id: rest.id
include: rest.include
exclude: rest.exclude
outputParameters:
- type: object
mapping: $.
- method: PUT
name: updatevirtualcircuit
description: Update a virtual circuit
call: metal-interconnections.updatevirtualcircuit
with:
id: rest.id
include: rest.include
exclude: rest.exclude
body: rest.body
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: metal-interconnections-mcp
port: 9090
transport: http
description: MCP adapter for Metal API — Interconnections. One tool per consumed operation, routed inline through this
capability's consumes block.
tools:
- name: delete-interconnection
description: Delete interconnection
hints:
readOnly: false
destructive: true
idempotent: true
call: metal-interconnections.deleteinterconnection
with:
connection_id: tools.connection_id
include: tools.include
exclude: tools.exclude
outputParameters:
- type: object
mapping: $.
- name: get-interconnection
description: Get interconnection
hints:
readOnly: true
destructive: false
idempotent: true
call: metal-interconnections.getinterconnection
with:
connection_id: tools.connection_id
include: tools.include
exclude: tools.exclude
outputParameters:
- type: object
mapping: $.
- name: update-interconnection
description: Update interconnection
hints:
readOnly: false
destructive: false
idempotent: true
call: metal-interconnections.updateinterconnection
with:
connection_id: tools.connection_id
include: tools.include
exclude: tools.exclude
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: list-interconnection-s-ports
description: List a interconnection's ports
hints:
readOnly: true
destructive: false
idempotent: true
call: metal-interconnections.listinterconnectionports
with:
connection_id: tools.connection_id
outputParameters:
- type: object
mapping: $.
- name: get-interconnection-port
description: Get a interconnection port
hints:
readOnly: true
destructive: false
idempotent: true
call: metal-interconnections.getinterconnectionport
with:
connection_id: tools.connection_id
id: tools.id
include: tools.include
exclude: tools.exclude
outputParameters:
- type: object
mapping: $.
- name: list-interconnection-port-s-virtual-circuits
description: List a interconnection port's virtual circuits
hints:
readOnly: true
destructive: false
idempotent: true
call: metal-interconnections.listinterconnectionportvirtualcircuits
with:
connection_id: tools.connection_id
port_id: tools.port_id
include: tools.include
exclude: tools.exclude
outputParameters:
- type: object
mapping: $.
- name: create-new-virtual-circuit
description: Create a new Virtual Circuit
hints:
readOnly: false
destructive: false
idempotent: false
call: metal-interconnections.createinterconnectionportvirtualcircuit
with:
connection_id: tools.connection_id
port_id: tools.port_id
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: list-interconnection-s-virtual-circuits
description: List a interconnection's virtual circuits
hints:
readOnly: true
destructive: false
idempotent: true
call: metal-interconnections.listinterconnectionvirtualcircuits
with:
connection_id: tools.connection_id
outputParameters:
- type: object
mapping: $.
- name: list-organization-connections
description: List organization connections
hints:
readOnly: true
destructive: false
idempotent: true
call: metal-interconnections.organizationlistinterconnections
with:
organization_id: tools.organization_id
include: tools.include
exclude: tools.exclude
outputParameters:
- type: object
mapping: $.
- name: request-new-interconnection-organization
description: Request a new interconnection for the organization
hints:
readOnly: false
destructive: false
idempotent: false
call: metal-interconnections.createorganizationinterconnection
with:
organization_id: tools.organization_id
include: tools.include
exclude: tools.exclude
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: list-project-connections
description: List project connections
hints:
readOnly: true
destructive: false
idempotent: true
call: metal-interconnections.projectlistinterconnections
with:
project_id: tools.project_id
include: tools.include
exclude: tools.exclude
page: tools.page
per_page: tools.per_page
outputParameters:
- type: object
mapping: $.
- name: request-new-interconnection-project-s-organization
description: Request a new interconnection for the project's organization
hints:
readOnly: false
destructive: false
idempotent: false
call: metal-interconnections.createprojectinterconnection
with:
project_id: tools.project_id
include: tools.include
exclude: tools.exclude
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: delete-virtual-circuit
description: Delete a virtual circuit
hints:
readOnly: false
destructive: true
idempotent: true
call: metal-interconnections.deletevirtualcircuit
with:
id: tools.id
include: tools.include
exclude: tools.exclude
outputParameters:
- type: object
mapping: $.
- name: get-virtual-circuit
description: Get a virtual circuit
hints:
readOnly: true
destructive: false
idempotent: true
call: metal-interconnections.getvirtualcircuit
with:
id: tools.id
include: tools.include
exclude: tools.exclude
outputParameters:
- type: object
mapping: $.
- name: update-virtual-circuit
description: Update a virtual circuit
hints:
readOnly: false
destructive: false
idempotent: true
call: metal-interconnections.updatevirtualcircuit
with:
id: tools.id
include: tools.include
exclude: tools.exclude
body: tools.body
outputParameters:
- type: object
mapping: $.