Oxide System/networking API

This provides rack-level network configuration.

Business capability
IT Infrastructure Management BC-600.50

Operations 36

GET /v1/system/hardware/rack-switch-port/{rack_id}/{switch_slot}/{port}/lldp/neighbors Fetch LLDP neighbors for switch port #
GET /v1/system/hardware/switch-port/{port}/lldp/config Fetch LLDP configuration for switch port #
POST /v1/system/hardware/switch-port/{port}/lldp/config Update LLDP configuration for switch port #
GET /v1/system/networking/address-lot List address lots #
POST /v1/system/networking/address-lot Create address lot #
GET /v1/system/networking/address-lot/{address_lot} Fetch address lot #
DELETE /v1/system/networking/address-lot/{address_lot} Delete address lot #
GET /v1/system/networking/address-lot/{address_lot}/blocks List blocks in address lot #
GET /v1/system/networking/allow-list Get user-facing services IP allowlist #
PUT /v1/system/networking/allow-list Update user-facing services IP allowlist #
POST /v1/system/networking/bfd-disable Disable BFD session #
POST /v1/system/networking/bfd-enable Enable BFD session #
GET /v1/system/networking/bfd-status Get BFD status #
GET /v1/system/networking/bgp List BGP configurations #
PUT /v1/system/networking/bgp Update the mutable fields of an existing BGP configuration #
POST /v1/system/networking/bgp Create BGP configuration #
DELETE /v1/system/networking/bgp Delete BGP configuration #
GET /v1/system/networking/bgp-announce-set List BGP announce sets #
PUT /v1/system/networking/bgp-announce-set Update BGP announce set #
DELETE /v1/system/networking/bgp-announce-set/{announce_set} Delete BGP announce set #
GET /v1/system/networking/bgp-announce-set/{announce_set}/announcement Get originated routes for a specified BGP announce set #
GET /v1/system/networking/bgp-exported List BGP exported routes #
GET /v1/system/networking/bgp-imported Get imported IPv4 BGP routes #
GET /v1/system/networking/bgp-message-history Get BGP router message history #
GET /v1/system/networking/bgp-status Get BGP peer status #
GET /v1/system/networking/inbound-icmp Return whether API services can receive limited ICMP traffic #
PUT /v1/system/networking/inbound-icmp Set whether API services can receive limited ICMP traffic #
GET /v1/system/networking/loopback-address List loopback addresses #
POST /v1/system/networking/loopback-address Create loopback address #
DELETE /v1/system/networking/loopback-address/{rack_id}/{switch_slot}/{address}/{subnet_mask} Delete loopback address #
GET /v1/system/networking/settings Fetch fleet-wide networking settings #
PUT /v1/system/networking/settings Update fleet-wide networking settings #
GET /v1/system/networking/switch-port-settings List switch port settings #
POST /v1/system/networking/switch-port-settings Create switch port settings #
DELETE /v1/system/networking/switch-port-settings Delete switch port settings #
GET /v1/system/networking/switch-port-settings/{port} Get information about switch port #

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/oxide-computer-system-networking-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 email required.

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

OpenAPI Specification

oxide-computer-system-networking-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Oxide Region System/networking API
  description: API for interacting with the Oxide control plane
  contact:
    url: https://oxide.computer
    email: api@oxide.computer
  version: 2026081901.0.0
tags:
- name: system/networking
  description: This provides rack-level network configuration.
  externalDocs:
    url: http://docs.oxide.computer/api/system-networking
paths:
  /v1/system/hardware/rack-switch-port/{rack_id}/{switch_slot}/{port}/lldp/neighbors:
    get:
      tags:
      - system/networking
      summary: Fetch LLDP neighbors for switch port
      operationId: networking_switch_port_lldp_neighbors
      parameters:
      - in: path
        name: port
        description: A name to use when selecting switch ports.
        required: true
        schema:
          $ref: '#/components/schemas/Name'
      - in: path
        name: rack_id
        description: A rack id to use when selecting switch ports.
        required: true
        schema:
          type: string
          format: uuid
      - in: path
        name: switch_slot
        description: The slot of the switch within the rack to use when selecting switch ports.
        required: true
        schema:
          $ref: '#/components/schemas/SwitchSlot'
      - in: query
        name: limit
        description: Maximum number of items returned by a single call
        schema:
          type:
          - integer
          - 'null'
          format: uint32
          minimum: 1
      - in: query
        name: page_token
        description: Token returned by previous call to retrieve the subsequent page
        schema:
          type:
          - string
          - 'null'
      - in: query
        name: sort_by
        schema:
          $ref: '#/components/schemas/IdSortMode'
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LldpNeighborResultsPage'
        4XX:
          $ref: '#/components/responses/Error'
        5XX:
          $ref: '#/components/responses/Error'
      x-dropshot-pagination:
        required: []
  /v1/system/hardware/switch-port/{port}/lldp/config:
    get:
      tags:
      - system/networking
      summary: Fetch LLDP configuration for switch port
      operationId: networking_switch_port_lldp_config_view
      parameters:
      - in: path
        name: port
        description: A name to use when selecting switch ports.
        required: true
        schema:
          $ref: '#/components/schemas/Name'
      - in: query
        name: rack_id
        description: A rack id to use when selecting switch ports.
        required: true
        schema:
          type: string
          format: uuid
      - in: query
        name: switch_slot
        description: The slot of the switch within the rack to use when selecting switch ports.
        required: true
        schema:
          $ref: '#/components/schemas/SwitchSlot'
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LldpLinkConfig'
        4XX:
          $ref: '#/components/responses/Error'
        5XX:
          $ref: '#/components/responses/Error'
    post:
      tags:
      - system/networking
      summary: Update LLDP configuration for switch port
      operationId: networking_switch_port_lldp_config_update
      parameters:
      - in: path
        name: port
        description: A name to use when selecting switch ports.
        required: true
        schema:
          $ref: '#/components/schemas/Name'
      - in: query
        name: rack_id
        description: A rack id to use when selecting switch ports.
        required: true
        schema:
          type: string
          format: uuid
      - in: query
        name: switch_slot
        description: The slot of the switch within the rack to use when selecting switch ports.
        required: true
        schema:
          $ref: '#/components/schemas/SwitchSlot'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LldpLinkConfig'
        required: true
      responses:
        '204':
          description: resource updated
        4XX:
          $ref: '#/components/responses/Error'
        5XX:
          $ref: '#/components/responses/Error'
  /v1/system/networking/address-lot:
    get:
      tags:
      - system/networking
      summary: List address lots
      operationId: networking_address_lot_list
      parameters:
      - in: query
        name: limit
        description: Maximum number of items returned by a single call
        schema:
          type:
          - integer
          - 'null'
          format: uint32
          minimum: 1
      - in: query
        name: page_token
        description: Token returned by previous call to retrieve the subsequent page
        schema:
          type:
          - string
          - 'null'
      - in: query
        name: sort_by
        schema:
          $ref: '#/components/schemas/NameOrIdSortMode'
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AddressLotResultsPage'
        4XX:
          $ref: '#/components/responses/Error'
        5XX:
          $ref: '#/components/responses/Error'
      x-dropshot-pagination:
        required: []
    post:
      tags:
      - system/networking
      summary: Create address lot
      operationId: networking_address_lot_create
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddressLotCreate'
        required: true
      responses:
        '201':
          description: successful creation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AddressLotCreateResponse'
        4XX:
          $ref: '#/components/responses/Error'
        5XX:
          $ref: '#/components/responses/Error'
  /v1/system/networking/address-lot/{address_lot}:
    get:
      tags:
      - system/networking
      summary: Fetch address lot
      operationId: networking_address_lot_view
      parameters:
      - in: path
        name: address_lot
        description: Name or ID of the address lot
        required: true
        schema:
          $ref: '#/components/schemas/NameOrId'
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AddressLotViewResponse'
        4XX:
          $ref: '#/components/responses/Error'
        5XX:
          $ref: '#/components/responses/Error'
    delete:
      tags:
      - system/networking
      summary: Delete address lot
      operationId: networking_address_lot_delete
      parameters:
      - in: path
        name: address_lot
        description: Name or ID of the address lot
        required: true
        schema:
          $ref: '#/components/schemas/NameOrId'
      responses:
        '204':
          description: successful deletion
        4XX:
          $ref: '#/components/responses/Error'
        5XX:
          $ref: '#/components/responses/Error'
  /v1/system/networking/address-lot/{address_lot}/blocks:
    get:
      tags:
      - system/networking
      summary: List blocks in address lot
      operationId: networking_address_lot_block_list
      parameters:
      - in: path
        name: address_lot
        description: Name or ID of the address lot
        required: true
        schema:
          $ref: '#/components/schemas/NameOrId'
      - in: query
        name: limit
        description: Maximum number of items returned by a single call
        schema:
          type:
          - integer
          - 'null'
          format: uint32
          minimum: 1
      - in: query
        name: page_token
        description: Token returned by previous call to retrieve the subsequent page
        schema:
          type:
          - string
          - 'null'
      - in: query
        name: sort_by
        schema:
          $ref: '#/components/schemas/IdSortMode'
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AddressLotBlockResultsPage'
        4XX:
          $ref: '#/components/responses/Error'
        5XX:
          $ref: '#/components/responses/Error'
      x-dropshot-pagination:
        required: []
  /v1/system/networking/allow-list:
    get:
      tags:
      - system/networking
      summary: Get user-facing services IP allowlist
      operationId: networking_allow_list_view
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AllowList'
        4XX:
          $ref: '#/components/responses/Error'
        5XX:
          $ref: '#/components/responses/Error'
    put:
      tags:
      - system/networking
      summary: Update user-facing services IP allowlist
      operationId: networking_allow_list_update
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AllowListUpdate'
        required: true
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AllowList'
        4XX:
          $ref: '#/components/responses/Error'
        5XX:
          $ref: '#/components/responses/Error'
  /v1/system/networking/bfd-disable:
    post:
      tags:
      - system/networking
      summary: Disable BFD session
      operationId: networking_bfd_disable
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BfdSessionDisable'
        required: true
      responses:
        '204':
          description: resource updated
        4XX:
          $ref: '#/components/responses/Error'
        5XX:
          $ref: '#/components/responses/Error'
  /v1/system/networking/bfd-enable:
    post:
      tags:
      - system/networking
      summary: Enable BFD session
      operationId: networking_bfd_enable
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BfdSessionEnable'
        required: true
      responses:
        '204':
          description: resource updated
        4XX:
          $ref: '#/components/responses/Error'
        5XX:
          $ref: '#/components/responses/Error'
  /v1/system/networking/bfd-status:
    get:
      tags:
      - system/networking
      summary: Get BFD status
      operationId: networking_bfd_status
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                title: Array_of_BfdStatus
                type: array
                items:
                  $ref: '#/components/schemas/BfdStatus'
        4XX:
          $ref: '#/components/responses/Error'
        5XX:
          $ref: '#/components/responses/Error'
  /v1/system/networking/bgp:
    get:
      tags:
      - system/networking
      summary: List BGP configurations
      operationId: networking_bgp_config_list
      parameters:
      - in: query
        name: limit
        description: Maximum number of items returned by a single call
        schema:
          type:
          - integer
          - 'null'
          format: uint32
          minimum: 1
      - in: query
        name: page_token
        description: Token returned by previous call to retrieve the subsequent page
        schema:
          type:
          - string
          - 'null'
      - in: query
        name: sort_by
        schema:
          $ref: '#/components/schemas/NameOrIdSortMode'
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BgpConfigResultsPage'
        4XX:
          $ref: '#/components/responses/Error'
        5XX:
          $ref: '#/components/responses/Error'
      x-dropshot-pagination:
        required: []
    put:
      tags:
      - system/networking
      summary: Update the mutable fields of an existing BGP configuration
      description: The asn field is not updatable; to change the autonomous system number, create a new BGP configuration object.
      operationId: networking_bgp_config_update
      parameters:
      - in: query
        name: name_or_id
        description: A name or id to use when selecting BGP config.
        required: true
        schema:
          $ref: '#/components/schemas/NameOrId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BgpConfigUpdate'
        required: true
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BgpConfig'
        4XX:
          $ref: '#/components/responses/Error'
        5XX:
          $ref: '#/components/responses/Error'
    post:
      tags:
      - system/networking
      summary: Create BGP configuration
      operationId: networking_bgp_config_create
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BgpConfigCreate'
        required: true
      responses:
        '201':
          description: successful creation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BgpConfig'
        4XX:
          $ref: '#/components/responses/Error'
        5XX:
          $ref: '#/components/responses/Error'
    delete:
      tags:
      - system/networking
      summary: Delete BGP configuration
      operationId: networking_bgp_config_delete
      parameters:
      - in: query
        name: name_or_id
        description: A name or id to use when selecting BGP config.
        required: true
        schema:
          $ref: '#/components/schemas/NameOrId'
      responses:
        '204':
          description: resource updated
        4XX:
          $ref: '#/components/responses/Error'
        5XX:
          $ref: '#/components/responses/Error'
  /v1/system/networking/bgp-announce-set:
    get:
      tags:
      - system/networking
      summary: List BGP announce sets
      operationId: networking_bgp_announce_set_list
      parameters:
      - in: query
        name: limit
        description: Maximum number of items returned by a single call
        schema:
          type:
          - integer
          - 'null'
          format: uint32
          minimum: 1
      - in: query
        name: page_token
        description: Token returned by previous call to retrieve the subsequent page
        schema:
          type:
          - string
          - 'null'
      - in: query
        name: sort_by
        schema:
          $ref: '#/components/schemas/NameOrIdSortMode'
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                title: Array_of_BgpAnnounceSet
                type: array
                items:
                  $ref: '#/components/schemas/BgpAnnounceSet'
        4XX:
          $ref: '#/components/responses/Error'
        5XX:
          $ref: '#/components/responses/Error'
      x-dropshot-pagination:
        required: []
    put:
      tags:
      - system/networking
      summary: Update BGP announce set
      description: If the announce set exists, this endpoint replaces the existing announce set with the one specified.
      operationId: networking_bgp_announce_set_update
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BgpAnnounceSetCreate'
        required: true
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BgpAnnounceSet'
        4XX:
          $ref: '#/components/responses/Error'
        5XX:
          $ref: '#/components/responses/Error'
  /v1/system/networking/bgp-announce-set/{announce_set}:
    delete:
      tags:
      - system/networking
      summary: Delete BGP announce set
      operationId: networking_bgp_announce_set_delete
      parameters:
      - in: path
        name: announce_set
        description: Name or ID of the announce set
        required: true
        schema:
          $ref: '#/components/schemas/NameOrId'
      responses:
        '204':
          description: resource updated
        4XX:
          $ref: '#/components/responses/Error'
        5XX:
          $ref: '#/components/responses/Error'
  /v1/system/networking/bgp-announce-set/{announce_set}/announcement:
    get:
      tags:
      - system/networking
      summary: Get originated routes for a specified BGP announce set
      operationId: networking_bgp_announcement_list
      parameters:
      - in: path
        name: announce_set
        description: Name or ID of the announce set
        required: true
        schema:
          $ref: '#/components/schemas/NameOrId'
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                title: Array_of_BgpAnnouncement
                type: array
                items:
                  $ref: '#/components/schemas/BgpAnnouncement'
        4XX:
          $ref: '#/components/responses/Error'
        5XX:
          $ref: '#/components/responses/Error'
  /v1/system/networking/bgp-exported:
    get:
      tags:
      - system/networking
      summary: List BGP exported routes
      operationId: networking_bgp_exported
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                title: Array_of_BgpExported
                type: array
                items:
                  $ref: '#/components/schemas/BgpExported'
        4XX:
          $ref: '#/components/responses/Error'
        5XX:
          $ref: '#/components/responses/Error'
  /v1/system/networking/bgp-imported:
    get:
      tags:
      - system/networking
      summary: Get imported IPv4 BGP routes
      operationId: networking_bgp_imported
      parameters:
      - in: query
        name: asn
        description: The ASN to filter on. Required.
        required: true
        schema:
          type: integer
          format: uint32
          minimum: 0
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                title: Array_of_BgpImported
                type: array
                items:
                  $ref: '#/components/schemas/BgpImported'
        4XX:
          $ref: '#/components/responses/Error'
        5XX:
          $ref: '#/components/responses/Error'
  /v1/system/networking/bgp-message-history:
    get:
      tags:
      - system/networking
      summary: Get BGP router message history
      operationId: networking_bgp_message_history
      parameters:
      - in: query
        name: asn
        description: The ASN to filter on. Required.
        required: true
        schema:
          type: integer
          format: uint32
          minimum: 0
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AggregateBgpMessageHistory'
        4XX:
          $ref: '#/components/responses/Error'
        5XX:
          $ref: '#/components/responses/Error'
  /v1/system/networking/bgp-status:
    get:
      tags:
      - system/networking
      summary: Get BGP peer status
      operationId: networking_bgp_status
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                title: Array_of_BgpPeerStatus
                type: array
                items:
                  $ref: '#/components/schemas/BgpPeerStatus'
        4XX:
          $ref: '#/components/responses/Error'
        5XX:
          $ref: '#/components/responses/Error'
  /v1/system/networking/inbound-icmp:
    get:
      tags:
      - system/networking
      summary: Return whether API services can receive limited ICMP traffic
      operationId: networking_inbound_icmp_view
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceIcmpConfig'
        4XX:
          $ref: '#/components/responses/Error'
        5XX:
          $ref: '#/components/responses/Error'
    put:
      tags:
      - system/networking
      summary: Set whether API services can receive limited ICMP traffic
      operationId: networking_inbound_icmp_update
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ServiceIcmpConfig'
        required: true
      responses:
        '204':
          description: resource updated
        4XX:
          $ref: '#/components/responses/Error'
        5XX:
          $ref: '#/components/responses/Error'
  /v1/system/networking/loopback-address:
    get:
      tags:
      - system/networking
      summary: List loopback addresses
      operationId: networking_loopback_address_list
      parameters:
      - in: query
        name: limit
        description: Maximum number of items returned by a single call
        schema:
          type:
          - integer
          - 'null'
          format: uint32
          minimum: 1
      - in: query
        name: page_token
        description: Token returned by previous call to retrieve the subsequent page
        schema:
          type:
          - string
          - 'null'
      - in: query
        name: sort_by
        schema:
          $ref: '#/components/schemas/IdSortMode'
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LoopbackAddressResultsPage'
        4XX:
          $ref: '#/components/responses/Error'
        5XX:
          $ref: '#/components/responses/Error'
      x-dropshot-pagination:
        required: []
    post:
      tags:
      - system/networking
      summary: Create loopback address
      operationId: networking_loopback_address_create
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LoopbackAddressCreate'
        required: true
      responses:
        '201':
          description: successful creation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LoopbackAddress'
        4XX:
          $ref: '#/components/responses/Error'
        5XX:
          $ref: '#/components/responses/Error'
  /v1/system/networking/loopback-address/{rack_id}/{switch_slot}/{address}/{subnet_mask}:
    delete:
      tags:
      - system/networking
      summary: Delete loopback address
      operationId: networking_loopback_address_delete
      parameters:
      - in: path
        name: address
        description: The IP address and subnet mask to use when selecting the loopback address.
        required: true
        schema:
          type: string
          format: ip
      - in: path
        name: rack_id
        description: The rack to use when selecting the loopback address.
        required: true
        schema:
          type: string
          format: uuid
      - in: path
        name: subnet_mask
        description: The IP address and subnet mask to use when selecting the loopback address.
        required: true
        schema:
          type: integer
          format: uint8
          minimum: 0
      - in: path
        name: switch_slot
        description: The slot of the switch within the rack to use when selecting the loopback address.
        required: true
        schema:
          $ref: '#/components/schemas/SwitchSlot'
      responses:
        '204':
          description: successful deletion
        4XX:
          $ref: '#/components/responses/Error'
        5XX:
          $ref: '#/components/responses/Error'
  /v1/system/networking/settings:
    get:
      tags:
      - system/networking
      summary: Fetch fleet-wide networking settings
      operationId: system_networking_settings_view
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SystemNetworkingSettings'
        4XX:
          $ref: '#/components/responses/Error'
        5XX:
          $ref: '#/components/responses/Error'
    put:
      tags:
      - system/networking
      summary: Update fleet-wide networking settings
      operationId: system_networking_settings_update
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SystemNetworkingSettingsUpdate'
        required: true
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SystemNetworkingSettings'
        4XX:
          $ref: '#/components/responses/Error'
        5XX:
          $ref: '#/components/responses/Error'
  /v1/system/networking/switch-port-settings:
    get:
      tags:
      - system/networking
      summary: List switch port settings
      operationId: networking_switch_port_settings_list
      parameters:
      - in: query
        name: limit
        description: Maximum number of items returned by a single call
        schema:
          type:
          - integer
          - 'null'
          format: uint32
          minimum: 1
      - in: query
        name: page_token
        description: Token returned by previous call to retrieve the subsequent page
        schema:
          type:
          - string
          - 'null'
      - in: query
        name: port_settings
        description: An optional name or id to use when selecting port settings.
        schema:
          $ref: '#/components/schemas/NameOrId'
      - in: query
        name: sort_by
        schema:
          $ref: '#/components/schemas/NameOrIdSortMode'
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SwitchPortSettingsIdentityResultsPage'
        4XX:
          $ref: '#/components/responses/Error'
        5XX:
          $ref: '#/components/responses/Error'
      x-dropshot-pagination:
        required: []
    post:
      tags:
      - system/networking
      summary: Create switch port settings
      operationId: networking_switch_port_settings_create
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SwitchPortSettingsCreate'
        required: true
      responses:
        '201':
          description: successful creation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SwitchPortSettings'
        4XX:
          $ref: '#/components/responses/Error'
        5XX:
          $ref: '#/components/responses/Error'
    delete:
      tags:
      - system/networking
      summary: Delete switch port settings
      operationId: networking_switch_port_settings_delete
      parameters:
      - in: query
        name: port_settings
        description: An optional name or id to use when selecting port settings.
        schema:
          $ref: '#/components/schemas/NameOrId'
      responses:
        '204':
          description: successful deletion
        4XX:
          $ref: '#/components/responses/Error'
        5XX:
          $ref: '#/components/responses/Error'
  /v1/system/networking/switch-port-settings/{port}:
    get:
      tags:
      - system/networking
      summary: Get information about switch port
      operationId: networking_switch_port_settings_view
      parameters:
      - in: path
        name: port
        description: A name or id to use when selecting switch port settings info objects.
        required: true
        schema:
          $ref: '#/components/schemas/NameOrId'
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SwitchPortSettings'
        4XX:
          $ref: '#/components/responses/Error'
        5XX:
          $ref: '#/components/responses/Error'
components:
  schemas:
    BgpImported:
      description: A route imported from a BGP peer.
      type: object
      properties:
        id:
          description: BGP identifier of the originating router.
          type: integer
          format: uint32
          minimum: 0
        nexthop:
          description: The nexthop the prefix is reachable through.
          type: string
          format: ip
        prefix:
          description: The destination network prefix.
          allOf:
          - $ref: '#/components/schemas/IpNet'
        switch:
          description: Switch the route is imported into.
          allOf:
          - $ref: '#/components/schemas/SwitchSlot'
      required:
      - id
      - nexthop
      - prefix
      - switch
    InterfaceNum:
      oneOf:
      - type: object
        properties:
          unknown:
            type: integer
            format: uint32
            minimum: 0
        required:
        - unknown
        additionalProperties: false
      - type: object
        properties:
          if_index:
            type: integer
            format: uint32
            minimum: 0
        required:
        - if_index
        additionalProperties: false
      - type: object
        properties:
          port_number:
            type: integer
            format: uint32
            minimum: 0
        required:
        - port_number
        additionalProperties: false
    NetworkAddress:
      oneOf:
      - type: object
        properties:
          ip_addr:
            type: string
            format: ip
        required:
        - ip_addr
        additionalProperties: false
      - type: object
        properties:
          i_e_e_e802:
            type: array
            items:
              type: integer
              format: uint8
              minimum: 0
        required:
        - i_e_e_e802
        additionalProperties: false
    LldpNeighborResultsPage:
      description: A single page of results
      type: object
      properties:
        items:
          description: list of items on this page of results
          type: array
          items:
            $ref: '#/components/schemas/LldpNeighbor'
        next_page:
          description: token used to fetch the next page of results (if any)
          type:
          - string
          - 'null'
      required:
      - items
    AddressLotBlockResultsPage:
      description: A single page of results
      type: object
      properties:
        items:
          description: list of items on this page of results
          type: array
          items:
            $ref: '#/components/schemas/AddressLotBlock'
        next_page:
          description: token used to fetch the next page of results (if any)
          type:
          - string
          - 'null'
      required:
      - items
    SystemNetworkingSettingsUpdate:
      description: Parameters for updating the fleet-wide networking settings.
      type: object
      properties:
        external_jumbo_frames_opt_in_enabled:
          description: Toggle the fleet-wide external jumbo-frames opt-in.
          default: false
          

# --- truncated at 32 KB (89 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/oxide-computer/refs/heads/main/openapi/oxide-computer-system-networking-api-openapi.yml