/api/v1/dhcp/mac/{mac}:
  parameters:
    - $ref: "#/components/parameters/mac"
  get:
    summary: Get an IPv4 address by MAC address
    description: Performs a DHCP lookup and returns the IP address leased for the given MAC address
    responses:
      '200':
        $ref: "#/components/responses/DhcpMacIp"
      '401':
        $ref: '#/components/responses/Unauthorized'
    tags:
      - DHCP
  delete:
    summary: Expire a DHCP lease
    description: Expires the DHCP lease for a specific MAC address
    responses:
      '200':
        $ref: "#/components/responses/DhcpMacResponse"
      '401':
        $ref: '#/components/responses/Unauthorized'
    tags:
      - DHCP

/api/v1/dhcp/ip/{ip}:
  parameters:
    - $ref: "#/components/parameters/ip"
  get:
    summary: Get a MAC address by IPv4 address
    description: Performs a DHCP lookup and returns the MAC address for the given IP address lease
    responses:
      '200':
        $ref: "#/components/responses/DhcpMacIp"
      '401':
        $ref: '#/components/responses/Unauthorized'
    tags:
      - DHCP

/api/v1/dhcp/stats/{interface}:
  parameters:
    - $ref: "#/components/parameters/interface"
  get:
    summary: Get interface statistics
    description: Shows detailed DHCP statistics for the given interface
    responses:
      '200':
        $ref: "#/components/responses/DhcpInterfaceStats"
      '401':
        $ref: '#/components/responses/Unauthorized'
    tags:
      - DHCP

/api/v1/dhcp/options/network/{network}:
  parameters:
    - $ref: "#/components/parameters/network"
  post:
    summary: Add options by network
    description: Add DHCP options for a Network
    responses:
      '200':
        $ref: "#/components/responses/DhcpNetworkResponse"
      '400':
        $ref: "#/components/responses/BadRequest"
      '401':
        $ref: '#/components/responses/Unauthorized'
    tags:
      - DHCP
  delete:
    summary: Delete options by network
    description: Removes DHCP options for a Network
    responses:
      '200':
        $ref: "#/components/responses/DhcpNetworkResponse"
      '400':
        $ref: "#/components/responses/BadRequest"
      '401':
        $ref: '#/components/responses/Unauthorized'
    tags:
      - DHCP

/api/v1/dhcp/options/mac/{mac}:
  parameters:
    - $ref: "#/components/parameters/mac"
  post:
    summary: Add options by MAC address
    description: Add DHCP options to a MAC address
    responses:
      '200':
        $ref: "#/components/responses/DhcpMacResponse"
      '400':
        $ref: "#/components/responses/BadRequest"
      '401':
        $ref: '#/components/responses/Unauthorized'
    tags:
      - DHCP
  delete:
    summary: Delete options by MAC address
    description: Removes DHCP options for a MAC address
    responses:
      '200':
        $ref: "#/components/responses/DhcpMacResponse"
      '400':
        $ref: "#/components/responses/BadRequest"
      '401':
        $ref: '#/components/responses/Unauthorized'
    tags:
      - DHCP
