Infoblox DHCP API

Operations for managing DHCP ranges, fixed addresses, leases, and DHCP option configurations.

OpenAPI Specification

infoblox-dhcp-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Infoblox WAPI (Web API) DHCP API
  description: RESTful API for managing Infoblox NIOS DDI (DNS, DHCP, IPAM) services, network objects, and configuration. The WAPI uses standard HTTP methods for CRUD operations and supports JSON and XML input and output formats. Authentication is handled via HTTP basic authentication or certificate-based authentication, and sessions can be maintained using cookies returned after initial authentication. The API follows a resource-oriented design where each NIOS object type is accessible as a REST resource.
  version: '2.12'
  contact:
    name: Infoblox Support
    email: support@infoblox.com
    url: https://www.infoblox.com/support/
  termsOfService: https://www.infoblox.com/company/legal/website-terms-and-conditions/
servers:
- url: https://{grid-master}/wapi/v2.12
  description: Infoblox NIOS Grid Master
  variables:
    grid-master:
      default: grid-master.example.com
      description: The hostname or IP address of the Infoblox NIOS Grid Master appliance.
security:
- basicAuth: []
- cookieAuth: []
tags:
- name: DHCP
  description: Operations for managing DHCP ranges, fixed addresses, leases, and DHCP option configurations.
paths:
  /range:
    get:
      operationId: listDHCPRanges
      summary: Infoblox List DHCP ranges
      description: Retrieves a list of DHCP range objects. A DHCP range defines a pool of IP addresses from which DHCP clients can obtain leases.
      tags:
      - DHCP
      parameters:
      - $ref: '#/components/parameters/ReturnFields'
      - $ref: '#/components/parameters/MaxResults'
      - name: network
        in: query
        description: Filter by the parent network in CIDR notation.
        schema:
          type: string
      - name: start_addr
        in: query
        description: Filter by the starting IP address of the range.
        schema:
          type: string
          format: ipv4
      - name: end_addr
        in: query
        description: Filter by the ending IP address of the range.
        schema:
          type: string
          format: ipv4
      - name: network_view
        in: query
        description: Filter by the network view name.
        schema:
          type: string
      responses:
        '200':
          description: Successfully retrieved list of DHCP ranges.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/DHCPRange'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
    post:
      operationId: createDHCPRange
      summary: Infoblox Create a DHCP range
      description: Creates a new DHCP range within a specified network. The range defines a contiguous block of IP addresses available for DHCP allocation.
      tags:
      - DHCP
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DHCPRangeCreate'
      responses:
        '201':
          description: Successfully created the DHCP range.
          content:
            application/json:
              schema:
                type: string
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /fixedaddress:
    get:
      operationId: listFixedAddresses
      summary: Infoblox List DHCP fixed addresses
      description: Retrieves a list of DHCP fixed address reservations. A fixed address maps a specific MAC address to a reserved IP address.
      tags:
      - DHCP
      parameters:
      - $ref: '#/components/parameters/ReturnFields'
      - $ref: '#/components/parameters/MaxResults'
      - name: ipv4addr
        in: query
        description: Filter by the reserved IPv4 address.
        schema:
          type: string
          format: ipv4
      - name: mac
        in: query
        description: Filter by the MAC address.
        schema:
          type: string
      - name: network_view
        in: query
        description: Filter by the network view name.
        schema:
          type: string
      responses:
        '200':
          description: Successfully retrieved list of fixed addresses.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/FixedAddress'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
    post:
      operationId: createFixedAddress
      summary: Infoblox Create a DHCP fixed address
      description: Creates a new DHCP fixed address reservation mapping a MAC address to a specific IPv4 address.
      tags:
      - DHCP
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FixedAddressCreate'
      responses:
        '201':
          description: Successfully created the fixed address.
          content:
            application/json:
              schema:
                type: string
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /lease:
    get:
      operationId: listDHCPLeases
      summary: Infoblox List DHCP leases
      description: Retrieves a list of DHCP lease objects. Leases represent active DHCP address assignments and include information about the client, assigned address, and lease duration.
      tags:
      - DHCP
      parameters:
      - $ref: '#/components/parameters/ReturnFields'
      - $ref: '#/components/parameters/MaxResults'
      - name: address
        in: query
        description: Filter by the leased IPv4 address.
        schema:
          type: string
          format: ipv4
      - name: network_view
        in: query
        description: Filter by the network view name.
        schema:
          type: string
      responses:
        '200':
          description: Successfully retrieved list of DHCP leases.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/DHCPLease'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
components:
  responses:
    Unauthorized:
      description: Authentication failed or credentials were not provided.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    BadRequest:
      description: The request was malformed or contained invalid parameters.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  schemas:
    FixedAddress:
      type: object
      properties:
        _ref:
          type: string
          description: The object reference for this fixed address.
        ipv4addr:
          type: string
          format: ipv4
          description: The reserved IPv4 address.
        mac:
          type: string
          description: The MAC address of the client.
        network_view:
          type: string
          description: The network view.
        comment:
          type: string
          description: A descriptive comment.
          maxLength: 256
        disable:
          type: boolean
          description: Whether the fixed address reservation is disabled.
    DHCPRangeCreate:
      type: object
      required:
      - start_addr
      - end_addr
      properties:
        network:
          type: string
          description: The parent network in CIDR notation.
        start_addr:
          type: string
          format: ipv4
          description: The starting IP address.
        end_addr:
          type: string
          format: ipv4
          description: The ending IP address.
        network_view:
          type: string
          description: The network view.
        comment:
          type: string
          description: A descriptive comment.
          maxLength: 256
    DHCPRange:
      type: object
      properties:
        _ref:
          type: string
          description: The object reference for this DHCP range.
        network:
          type: string
          description: The parent network in CIDR notation.
        start_addr:
          type: string
          format: ipv4
          description: The starting IP address of the range.
        end_addr:
          type: string
          format: ipv4
          description: The ending IP address of the range.
        network_view:
          type: string
          description: The network view.
        comment:
          type: string
          description: A descriptive comment.
          maxLength: 256
        disable:
          type: boolean
          description: Whether the DHCP range is disabled.
    Error:
      type: object
      properties:
        Error:
          type: string
          description: The error type identifier.
        code:
          type: string
          description: The error code.
        text:
          type: string
          description: A human-readable error message.
    DHCPLease:
      type: object
      properties:
        _ref:
          type: string
          description: The object reference for this lease.
        address:
          type: string
          format: ipv4
          description: The leased IPv4 address.
        network_view:
          type: string
          description: The network view.
        binding_state:
          type: string
          enum:
          - ACTIVE
          - EXPIRED
          - FREE
          - RELEASED
          description: The current state of the DHCP lease.
        hardware:
          type: string
          description: The hardware (MAC) address of the DHCP client.
        client_hostname:
          type: string
          description: The hostname provided by the DHCP client.
        starts:
          type: string
          format: date-time
          description: The lease start time.
        ends:
          type: string
          format: date-time
          description: The lease expiration time.
    FixedAddressCreate:
      type: object
      required:
      - ipv4addr
      - mac
      properties:
        ipv4addr:
          type: string
          format: ipv4
          description: The IPv4 address to reserve.
        mac:
          type: string
          description: The MAC address of the client.
        network_view:
          type: string
          description: The network view.
        comment:
          type: string
          description: A descriptive comment.
          maxLength: 256
  parameters:
    ReturnFields:
      name: _return_fields
      in: query
      description: Comma-separated list of field names to include in the response. Use _return_fields+ to add fields to the default set.
      schema:
        type: string
    MaxResults:
      name: _max_results
      in: query
      description: The maximum number of results to return. The default is 1000. Use a negative value to return all results.
      schema:
        type: integer
        default: 1000
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
      description: HTTP Basic Authentication using NIOS admin credentials.
    cookieAuth:
      type: apiKey
      in: cookie
      name: ibapauth
      description: Session cookie returned after successful authentication. Pass the ibapauth cookie with subsequent requests to maintain an authenticated session.
externalDocs:
  description: Infoblox WAPI Documentation
  url: https://docs.infoblox.com/space/niosapi/