Equinix · Capability

Metal API — Interconnections

Metal API — Interconnections. 15 operations. Lead operation: Delete interconnection. Self-contained Naftiko capability covering one Equinix business surface.

Run with Naftiko EquinixInterconnections

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

metal-interconnections.yaml Raw ↑
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: $.