Equinix Ports API

Port ManagementCheck out the product docs to learn more about [Port configurations](https://metal.equinix.com/developers/docs/layer2-networking/overview/).

Operations 22

GET /fabric/v4/ports Get All Ports #
POST /fabric/v4/ports Create Port #
POST /fabric/v4/ports/{portId}/physicalPorts/bulk Add to Lag #
GET /fabric/v4/ports/{portId} Get Port by uuid #
DELETE /fabric/v4/ports/{portId} Delete a single port #
PATCH /fabric/v4/ports/{portId} Update by UUID #
GET /fabric/v4/ports/{portUuid}/linkProtocols Get Vlans #
POST /fabric/v4/ports/search Search ports #
GET /ports/{id} Retrieve a port #
POST /ports/{id}/assign Assign a port to virtual network #
POST /ports/{id}/bond Enabling bonding #
POST /ports/{id}/convert/layer-2 Convert to Layer 2 #
POST /ports/{id}/convert/layer-3 Convert to Layer 3 #
POST /ports/{id}/disbond Disabling bonding #
DELETE /ports/{id}/native-vlan Remove native VLAN #
POST /ports/{id}/native-vlan Assign a native VLAN #
POST /ports/{id}/unassign Unassign a port #
GET /ports/{id}/vlan-assignments List Current VLAN assignments for a port #
GET /ports/{id}/vlan-assignments/{assignment_id} Show a particular Port VLAN assignment's details #
GET /ports/{id}/vlan-assignments/batches List the VLAN Assignment Batches for a port #
POST /ports/{id}/vlan-assignments/batches Create a new Port-VLAN Assignment management batch #
GET /ports/{id}/vlan-assignments/batches/{batch_id} Retrieve a VLAN Assignment Batch's details #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/equinix-ports-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

equinix-ports-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Equinix Ports API
  version: '1.0'
  description: 'Operations tagged Ports across 2 of this provider''s published API definitions: fabric-openapi-original.yml, metal-openapi-original.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.equinix.com
  description: Equinix Inc
- url: https://api.equinix.com/metal/v1
tags:
- name: Ports
  description: Ports
paths:
  /fabric/v4/ports:
    get:
      tags:
      - Ports
      summary: Get All Ports
      description: Get All Ports returns details of all assigned and available ports for the specified user credentials. The metro attribute in the response shows the origin of the proposed connection.
      operationId: getPorts
      parameters:
      - name: name
        in: query
        description: port name to be provided if specific port(s) to be retrieved
        schema:
          type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AllPortsResponse'
              examples:
                portExample:
                  $ref: '#/components/examples/ports'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#/components/examples/400'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#/components/examples/401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#/components/examples/403'
        '500':
          description: Service Unavailable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                portExample:
                  $ref: '#/components/examples/ports-500'
                userFailureExample:
                  $ref: '#/components/examples/ports-500-user-failure'
      security:
      - BearerAuth: []
    post:
      tags:
      - Ports
      summary: Create Port
      description: Creates Equinix Fabric? Port.
      operationId: createPort
      parameters:
      - name: dryRun
        in: query
        description: option to verify that API calls will succeed
        required: false
        schema:
          type: boolean
          default: false
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PortRequest'
            examples:
              COLOSinglePortNonLag:
                $ref: '#/components/examples/coloSinglePortNonLag'
              COLOSinglePortLag:
                $ref: '#/components/examples/coloSinglePortLag'
              COLOUnlimitedPlusPortLag:
                $ref: '#/components/examples/coloUnlimitedPlusPortLag'
              COLOLagPortNewGroup:
                $ref: '#/components/examples/coloLagPortNewGroup'
              COLOAddSecondaryPort:
                $ref: '#/components/examples/coloAddSecondaryPort'
              COLOSinglePortNonLagDryRun:
                $ref: '#/components/examples/COLOSinglePortNonLagCreateDryRun'
              COLOSinglePortLagDryRun:
                $ref: '#/components/examples/COLOSinglePortLagCreateDryRun'
              REMOTESinglePortLag:
                $ref: '#/components/examples/remoteSinglePortNewGroupLagRequest'
              BMMRSinglePortLag:
                $ref: '#/components/examples/bmmrSinglePortLag'
              BMMRSinglePortNoLag:
                $ref: '#/components/examples/bmmrSinglePortNoLag'
              BMMRAddSecondaryPort:
                $ref: '#/components/examples/bmmrAddSecondaryPort'
              BMMRLagPortNewGroup:
                $ref: '#/components/examples/bmmrLagPortNewGroup'
              IXPublicPrivatePeeringPort:
                $ref: '#/components/examples/createIXPublicPrivatePeeringPortRequest'
              IXPublicPeeringPort:
                $ref: '#/components/examples/createIXPublicPeeringPortRequest'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Port'
              examples:
                portDryRunExample:
                  $ref: '#/components/examples/PortCreateDryRunResponse'
                bmmrPortDryRunExample:
                  $ref: '#/components/examples/bmmrSinglePortCreateDryRunResponse'
                remotePortDryRunExample:
                  $ref: '#/components/examples/remoteSinglePortCreateDryRunResponse'
        '202':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Port'
              examples:
                COLOSinglePortNonLag:
                  $ref: '#/components/examples/coloSinglePortNonLagResponse'
                BMMRSinglePortLag:
                  $ref: '#/components/examples/bmmrSinglePortLagResponse'
                REMOTESinglePortLag:
                  $ref: '#/components/examples/remoteSinglePortLagResponse'
                REMOTESinglePortLagWithOrderExemption:
                  $ref: '#/components/examples/remoteSinglePortLagWithPurchaseOrderExemption'
                IXPublicPrivatePeeringPort:
                  $ref: '#/components/examples/createIXPublicPrivatePeeringPortResponse'
                IXPublicPeeringPort:
                  $ref: '#/components/examples/createIXPublicPeeringPortResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                validationError:
                  $ref: '#/components/examples/port-400'
                badRequest:
                  $ref: '#/components/examples/createPortBadRequest'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#/components/examples/401'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#/components/examples/port-500'
      security:
      - BearerAuth: []
    servers:
    - url: https://api.equinix.com
      description: Equinix Inc
  /fabric/v4/ports/{portId}/physicalPorts/bulk:
    post:
      tags:
      - Ports
      summary: Add to Lag
      description: Add Physical Ports to Virtual Port.<font color="red"> <sup color='red'>Preview</sup></font>
      operationId: addToLag
      parameters:
      - name: portId
        in: path
        description: Port UUID
        required: true
        schema:
          $ref: '#/components/schemas/PortUUID'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BulkPhysicalPort'
            examples:
              COLOAddToLag:
                $ref: '#/components/examples/coloAddToLag'
              REMOTEAddToLag:
                $ref: '#/components/examples/remoteAddToLag'
              BMMRAddToLag:
                $ref: '#/components/examples/bmmrAddToLag'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AllPhysicalPortsResponse'
              examples:
                COLOAddToLag:
                  $ref: '#/components/examples/coloAddToLagResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#/components/examples/port-400'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#/components/examples/404'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#/components/examples/port-500'
      security:
      - BearerAuth: []
    servers:
    - url: https://api.equinix.com
      description: Equinix Inc
  /fabric/v4/ports/{portId}:
    get:
      tags:
      - Ports
      summary: Get Port by uuid
      description: Get Port By uuid returns details of assigned and available Equinix Fabric port for the specified user credentials. The metro code attribute in the response shows the origin of the proposed connection.
      operationId: getPortByUuid
      parameters:
      - name: portId
        in: path
        description: Port UUID
        required: true
        schema:
          $ref: '#/components/schemas/PortUUID'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Port'
              examples:
                portExample:
                  $ref: '#/components/examples/portByUUID'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#/components/examples/400'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#/components/examples/403'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#/components/examples/500'
      security:
      - BearerAuth: []
    delete:
      tags:
      - Ports
      summary: Delete a single port
      description: The API provides capability to delete a single port
      operationId: deletePort
      parameters:
      - name: portId
        in: path
        description: Port UUID
        required: true
        schema:
          $ref: '#/components/schemas/PortUUID'
      - name: dryRun
        in: query
        description: option to verify that API calls will succeed
        required: false
        schema:
          type: boolean
          default: false
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Port'
              examples:
                portDryRunExample:
                  $ref: '#/components/examples/portDryRunDelete'
        '202':
          description: Accepted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Port'
              examples:
                portExample:
                  $ref: '#/components/examples/portDelete'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#/components/examples/400'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#/components/examples/401'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
      security:
      - BearerAuth: []
    patch:
      tags:
      - Ports
      summary: Update by UUID
      description: Update Port by UUID
      operationId: updatePortByUuid
      parameters:
      - name: portId
        in: path
        description: Port UUID
        required: true
        schema:
          $ref: '#/components/schemas/PortUUID'
      - name: dryRun
        in: query
        description: option to verify that API calls will succeed
        required: false
        schema:
          type: boolean
          default: false
      requestBody:
        content:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/PortUpdateRequest'
            examples:
              PortUpdateNameRequest:
                $ref: '#/components/examples/portUpdateNameRequest'
              PortUpdateEncapsulationAndTagprotocolIdRequest:
                $ref: '#/components/examples/portUpdateEncapsulationAndTagProtocolIdRequest'
              PortUpdateNameDryRunRequest:
                $ref: '#/components/examples/PortUpdateNameDryRunRequest'
              PortUpdateLagEnabledRequest:
                $ref: '#/components/examples/portUpdateLagEnabledRequest'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AllPortsResponse'
              examples:
                portDryRunExample:
                  $ref: '#/components/examples/PortUpdateDryRunResponse'
        '202':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Port'
              examples:
                portExample:
                  $ref: '#/components/examples/portPatchResponse202'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                InvalidUUID:
                  $ref: '#/components/examples/400'
                ResourceUsedError:
                  $ref: '#/components/examples/portPatchMultipleConnections400Response'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#/components/examples/403'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                example:
                  $ref: '#/components/examples/500'
      security:
      - BearerAuth: []
    servers:
    - url: https://api.equinix.com
      description: Equinix Inc
  /fabric/v4/ports/{portUuid}/linkProtocols:
    get:
      tags:
      - Ports
      summary: Get Vlans
      description: The API provides capability to retrieve Vlans for a Port.
      operationId: getVlans
      parameters:
      - name: portUuid
        in: path
        description: Port UUID
        required: true
        schema:
          $ref: '#/components/schemas/PortUUID'
      responses:
        '200':
          description: Get Vlans
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LinkProtocolGetResponse'
              examples:
                LinkProtocolQ1NQResponse:
                  $ref: '#/components/examples/LinkProtocolGetQinqResponseExample'
                LinkProtocolDOT1QResponse:
                  $ref: '#/components/examples/LinkProtocolGetDot1qResponseExample'
                LinkProtocolVlanRangeResponse:
                  $ref: '#/components/examples/LinkProtocolGetVlanRangeResponseExample'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#/components/examples/400_invalid_portId'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#/components/examples/403-port-access'
      security:
      - BearerAuth: []
    servers:
    - url: https://api.equinix.com
      description: Equinix Inc
  /fabric/v4/ports/search:
    post:
      tags:
      - Ports
      summary: Search ports
      description: The API provides capability to get list of user's virtual ports using search criteria, including optional filtering, pagination and sorting
      operationId: searchPorts
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PortV4SearchRequest'
            examples:
              PortSearchDirection:
                $ref: '#/components/examples/portSearchByProjectId'
              PortSearchOptionalFilter:
                $ref: '#/components/examples/portSearchByOptionalFilters'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AllPortsResponse'
              examples:
                portExample:
                  $ref: '#/components/examples/ports'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                invalidUuid:
                  $ref: '#/components/examples/400'
                invalidProjectIdRequest:
                  $ref: '#/components/examples/portSearchInvalidProjectRequest'
                invalidRequest:
                  $ref: '#/components/examples/portSearchInvalidRequest'
                invalidSearchFieldProperty:
                  $ref: '#/components/examples/portSearchInvalidSearchFieldProperty'
                invalidSearchFieldArgument:
                  $ref: '#/components/examples/portSearchInvalidSearchFieldArgument'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#/components/examples/401'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
        '500':
          description: Service Unavailable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                portExample:
                  $ref: '#/components/examples/ports-500'
                userFailureExample:
                  $ref: '#/components/examples/ports-500-user-failure'
      security:
      - BearerAuth: []
    servers:
    - url: https://api.equinix.com
      description: Equinix Inc
  /ports/{id}:
    get:
      description: Returns a port
      operationId: findPortById
      parameters:
      - description: Port UUID
        in: path
        name: id
        required: true
        schema:
          format: uuid
          type: string
      - description: 'Nested attributes to include. Included objects will return their full

          attributes. Attribute names can be dotted (up to 3 levels) to included deeply

          nested objects.'
        explode: false
        in: query
        name: include
        schema:
          items:
            type: string
          type: array
        style: form
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Port_2'
          description: ok
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error_2'
          description: unauthorized
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error_2'
          description: not found
      summary: Retrieve a port
      tags:
      - Ports
      security:
      - x_auth_token: []
    servers:
    - url: https://api.equinix.com/metal/v1
  /ports/{id}/assign:
    post:
      description: Assign a hardware port to a virtual network.
      operationId: assignPort
      parameters:
      - description: Port UUID
        in: path
        name: id
        required: true
        schema:
          format: uuid
          type: string
      - description: 'Nested attributes to include. Included objects will return their full

          attributes. Attribute names can be dotted (up to 3 levels) to included deeply

          nested objects.'
        explode: false
        in: query
        name: include
        schema:
          items:
            type: string
          type: array
        style: form
      requestBody:
        $ref: '#/components/requestBodies/PortAssignInput'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Port_2'
          description: ok
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error_2'
          description: unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error_2'
          description: forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error_2'
          description: not found
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error_2'
          description: unprocessable entity
      summary: Assign a port to virtual network
      tags:
      - Ports
      security:
      - x_auth_token: []
    servers:
    - url: https://api.equinix.com/metal/v1
  /ports/{id}/bond:
    post:
      description: Enabling bonding for one or all ports
      operationId: bondPort
      parameters:
      - description: Port UUID
        in: path
        name: id
        required: true
        schema:
          format: uuid
          type: string
      - description: enable both ports
        in: query
        name: bulk_enable
        schema:
          type: boolean
      - description: 'Nested attributes to include. Included objects will return their full

          attributes. Attribute names can be dotted (up to 3 levels) to included deeply

          nested objects.'
        explode: false
        in: query
        name: include
        schema:
          items:
            type: string
          type: array
        style: form
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Port_2'
          description: ok
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error_2'
          description: unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error_2'
          description: forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error_2'
          description: not found
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error_2'
          description: unprocessable entity
      summary: Enabling bonding
      tags:
      - Ports
      security:
      - x_auth_token: []
    servers:
    - url: https://api.equinix.com/metal/v1
  /ports/{id}/convert/layer-2:
    post:
      description: Converts a bond port to Layer 2. IP assignments of the port will be removed.
      operationId: convertLayer2
      parameters:
      - description: Port UUID
        in: path
        name: id
        required: true
        schema:
          format: uuid
          type: string
      - description: 'Nested attributes to include. Included objects will return their full

          attributes. Attribute names can be dotted (up to 3 levels) to included deeply

          nested objects.'
        explode: false
        in: query
        name: include
        schema:
          items:
            type: string
          type: array
        style: form
      requestBody:
        $ref: '#/components/requestBodies/PortAssignInput'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Port_2'
          description: ok
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error_2'
          description: unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error_2'
          description: forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error_2'
          description: not found
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error_2'
          description: unprocessable entity
      summary: Convert to Layer 2
      tags:
      - Ports
      security:
      - x_auth_token: []
    servers:
    - url: https://api.equinix.com/metal/v1
  /ports/{id}/convert/layer-3:
    post:
      description: Converts a bond port to Layer 3. VLANs must first be unassigned.
      operationId: convertLayer3
      parameters:
      - description: Port UUID
        in: path
        name: id
        required: true
        schema:
          format: uuid
          type: string
      - description: 'Nested attributes to include. Included objects will return their full

          attributes. Attribute names can be dotted (up to 3 levels) to included deeply

          nested objects.'
        explode: false
        in: query
        name: include
        schema:
          items:
            type: string
          type: array
        style: form
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PortConvertLayer3Input'
        description: IPs to request
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Port_2'
          description: ok
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error_2'
          description: unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error_2'
          description: forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error_2'
          description: not found
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error_2'
          description: unprocessable entity
      summary: Convert to Layer 3
      tags:
      - Ports
      security:
      - x_auth_token: []
    servers:
    - url: https://api.equinix.com/metal/v1
  /ports/{id}/disbond:
    post:
      description: Disabling bonding for one or all ports
      operationId: disbondPort
      parameters:
      - description: Port UUID
        in: path
        name: id
        required: true
        schema:
          format: uuid
          type: string
      - description: disable both ports
        in: query
        name: bulk_disable
        schema:
          type: boolean
      - description: 'Nested attributes to include. Included objects will return their full

          attributes. Attribute names can be dotted (up to 3 levels) to included deeply

          nested objects.'
        explode: false
        in: query
        name: include
        schema:
          items:
            type: string
          type: array
        style: form
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Port_2'
          description: ok
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error_2'
          description: unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error_2'
          description: forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error_2'
          description: not found
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error_2'
          description: unprocessable entity
      summary: Disabling bonding
      tags:
      - Ports
      security:
      - x_auth_token: []
    servers:
    - url: https://api.equinix.com/metal/v1
  /ports/{id}/native-vlan:
    delete:
      description: Removes the native VLAN from this port
      operationId: deleteNativeVlan
      parameters:
      - description: Port UUID
        in: path
        name: id
        required: true
        schema:
          format: uuid
          type: string
      - description: 'Nested attributes to include. Included objects will return their full

          attributes. Attribute names can be dotted (up to 3 levels) to included deeply

          nested objects.'
        explode: false
        in: query
        name: include
        schema:
          items:
            type: string
          type: array
        style: form
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Port_2'
          description: ok
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error_2'
          description: unauthorized
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error_2'
          description: not found
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error_2'
          description: unprocessable entity
      summary: Remove native VLAN
      tags:
      - Ports
      security:
      - x_auth_token: []
    post:
      description: Sets a virtual network on this port as a "native VLAN". The VLAN must have already been assigned using the using the "Assign a port to a virtual network" operation.
      operationId: assignNativeVlan
      

# --- truncated at 32 KB (171 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/equinix/refs/heads/main/openapi/equinix-ports-api-openapi.yml