openapi: 3.0.0
servers:
  - url: http://netboxdemo.com/api
info:
  contact:
    email: netbox@digitalocean.com
  description: API to access NetBox
  license:
    name: Apache v2 License
  termsOfService: https://github.com/digitalocean/netbox
  title: NetBox API
  version: "2.4"
  x-apisguru-categories:
    - cloud
  x-origin:
    - format: swagger
      url: https://github.com/APIs-guru/openapi-directory/files/5383965/swagger.yaml.txt
      version: "2.0"
  x-preferred: false
  x-providerName: netboxdemo.com
  x-logo:
    url: https://api.apis.guru/v2/cache/logo/https_apis.guru_assets_images_no-logo.svg
security:
  - Bearer: []
paths:
  /circuits/_choices/:
    get:
      description: ""
      operationId: circuits__choices_list
      responses:
        "200":
          description: ""
      tags:
        - circuits
    parameters: []
  "/circuits/_choices/{id}/":
    get:
      description: ""
      operationId: circuits__choices_read
      responses:
        "200":
          description: ""
      tags:
        - circuits
    parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
  /circuits/circuit-terminations/:
    get:
      description: ""
      operationId: circuits_circuit-terminations_list
      parameters:
        - description: ""
          in: query
          name: term_side
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: port_speed
          required: false
          schema:
            type: number
        - description: ""
          in: query
          name: upstream_speed
          required: false
          schema:
            type: number
        - description: ""
          in: query
          name: xconnect_id
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: q
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: circuit_id
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: site_id
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: site
          required: false
          schema:
            type: string
        - description: Number of results to return per page.
          in: query
          name: limit
          required: false
          schema:
            type: integer
        - description: The initial index from which to return the results.
          in: query
          name: offset
          required: false
          schema:
            type: integer
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  count:
                    type: integer
                  next:
                    format: uri
                    nullable: true
                    type: string
                  previous:
                    format: uri
                    nullable: true
                    type: string
                  results:
                    items:
                      $ref: "#/components/schemas/CircuitTermination"
                    type: array
                required:
                  - count
                  - results
                type: object
          description: ""
      tags:
        - circuits
    parameters: []
    post:
      description: ""
      operationId: circuits_circuit-terminations_create
      requestBody:
        $ref: "#/components/requestBodies/WritableCircuitTermination"
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CircuitTermination"
          description: ""
      tags:
        - circuits
  "/circuits/circuit-terminations/{id}/":
    delete:
      description: ""
      operationId: circuits_circuit-terminations_delete
      responses:
        "204":
          description: ""
      tags:
        - circuits
    get:
      description: ""
      operationId: circuits_circuit-terminations_read
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CircuitTermination"
          description: ""
      tags:
        - circuits
    parameters:
      - description: A unique integer value identifying this circuit termination.
        in: path
        name: id
        required: true
        schema:
          type: integer
    patch:
      description: ""
      operationId: circuits_circuit-terminations_partial_update
      requestBody:
        $ref: "#/components/requestBodies/WritableCircuitTermination"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CircuitTermination"
          description: ""
      tags:
        - circuits
    put:
      description: ""
      operationId: circuits_circuit-terminations_update
      requestBody:
        $ref: "#/components/requestBodies/WritableCircuitTermination"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CircuitTermination"
          description: ""
      tags:
        - circuits
  /circuits/circuit-types/:
    get:
      description: ""
      operationId: circuits_circuit-types_list
      parameters:
        - description: ""
          in: query
          name: name
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: slug
          required: false
          schema:
            type: string
        - description: Number of results to return per page.
          in: query
          name: limit
          required: false
          schema:
            type: integer
        - description: The initial index from which to return the results.
          in: query
          name: offset
          required: false
          schema:
            type: integer
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  count:
                    type: integer
                  next:
                    format: uri
                    nullable: true
                    type: string
                  previous:
                    format: uri
                    nullable: true
                    type: string
                  results:
                    items:
                      $ref: "#/components/schemas/CircuitType"
                    type: array
                required:
                  - count
                  - results
                type: object
          description: ""
      tags:
        - circuits
    parameters: []
    post:
      description: ""
      operationId: circuits_circuit-types_create
      requestBody:
        $ref: "#/components/requestBodies/CircuitType"
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CircuitType"
          description: ""
      tags:
        - circuits
  "/circuits/circuit-types/{id}/":
    delete:
      description: ""
      operationId: circuits_circuit-types_delete
      responses:
        "204":
          description: ""
      tags:
        - circuits
    get:
      description: ""
      operationId: circuits_circuit-types_read
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CircuitType"
          description: ""
      tags:
        - circuits
    parameters:
      - description: A unique integer value identifying this circuit type.
        in: path
        name: id
        required: true
        schema:
          type: integer
    patch:
      description: ""
      operationId: circuits_circuit-types_partial_update
      requestBody:
        $ref: "#/components/requestBodies/CircuitType"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CircuitType"
          description: ""
      tags:
        - circuits
    put:
      description: ""
      operationId: circuits_circuit-types_update
      requestBody:
        $ref: "#/components/requestBodies/CircuitType"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CircuitType"
          description: ""
      tags:
        - circuits
  /circuits/circuits/:
    get:
      description: ""
      operationId: circuits_circuits_list
      parameters:
        - description: ""
          in: query
          name: cid
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: install_date
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: commit_rate
          required: false
          schema:
            type: number
        - description: Multiple values may be separated by commas.
          in: query
          name: id__in
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: q
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: provider_id
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: provider
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: type_id
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: type
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: status
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: tenant_id
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: tenant
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: site_id
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: site
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: tag
          required: false
          schema:
            type: string
        - description: Number of results to return per page.
          in: query
          name: limit
          required: false
          schema:
            type: integer
        - description: The initial index from which to return the results.
          in: query
          name: offset
          required: false
          schema:
            type: integer
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  count:
                    type: integer
                  next:
                    format: uri
                    nullable: true
                    type: string
                  previous:
                    format: uri
                    nullable: true
                    type: string
                  results:
                    items:
                      $ref: "#/components/schemas/Circuit"
                    type: array
                required:
                  - count
                  - results
                type: object
          description: ""
      tags:
        - circuits
    parameters: []
    post:
      description: ""
      operationId: circuits_circuits_create
      requestBody:
        $ref: "#/components/requestBodies/WritableCircuit"
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Circuit"
          description: ""
      tags:
        - circuits
  "/circuits/circuits/{id}/":
    delete:
      description: ""
      operationId: circuits_circuits_delete
      responses:
        "204":
          description: ""
      tags:
        - circuits
    get:
      description: ""
      operationId: circuits_circuits_read
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Circuit"
          description: ""
      tags:
        - circuits
    parameters:
      - description: A unique integer value identifying this circuit.
        in: path
        name: id
        required: true
        schema:
          type: integer
    patch:
      description: ""
      operationId: circuits_circuits_partial_update
      requestBody:
        $ref: "#/components/requestBodies/WritableCircuit"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Circuit"
          description: ""
      tags:
        - circuits
    put:
      description: ""
      operationId: circuits_circuits_update
      requestBody:
        $ref: "#/components/requestBodies/WritableCircuit"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Circuit"
          description: ""
      tags:
        - circuits
  /circuits/providers/:
    get:
      description: ""
      operationId: circuits_providers_list
      parameters:
        - description: ""
          in: query
          name: name
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: slug
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: asn
          required: false
          schema:
            type: number
        - description: ""
          in: query
          name: account
          required: false
          schema:
            type: string
        - description: Multiple values may be separated by commas.
          in: query
          name: id__in
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: q
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: site_id
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: site
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: tag
          required: false
          schema:
            type: string
        - description: Number of results to return per page.
          in: query
          name: limit
          required: false
          schema:
            type: integer
        - description: The initial index from which to return the results.
          in: query
          name: offset
          required: false
          schema:
            type: integer
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  count:
                    type: integer
                  next:
                    format: uri
                    nullable: true
                    type: string
                  previous:
                    format: uri
                    nullable: true
                    type: string
                  results:
                    items:
                      $ref: "#/components/schemas/Provider"
                    type: array
                required:
                  - count
                  - results
                type: object
          description: ""
      tags:
        - circuits
    parameters: []
    post:
      description: ""
      operationId: circuits_providers_create
      requestBody:
        $ref: "#/components/requestBodies/Provider"
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Provider"
          description: ""
      tags:
        - circuits
  "/circuits/providers/{id}/":
    delete:
      description: ""
      operationId: circuits_providers_delete
      responses:
        "204":
          description: ""
      tags:
        - circuits
    get:
      description: ""
      operationId: circuits_providers_read
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Provider"
          description: ""
      tags:
        - circuits
    parameters:
      - description: A unique integer value identifying this provider.
        in: path
        name: id
        required: true
        schema:
          type: integer
    patch:
      description: ""
      operationId: circuits_providers_partial_update
      requestBody:
        $ref: "#/components/requestBodies/Provider"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Provider"
          description: ""
      tags:
        - circuits
    put:
      description: ""
      operationId: circuits_providers_update
      requestBody:
        $ref: "#/components/requestBodies/Provider"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Provider"
          description: ""
      tags:
        - circuits
  "/circuits/providers/{id}/graphs/":
    get:
      description: A convenience method for rendering graphs for a particular provider.
      operationId: circuits_providers_graphs
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Provider"
          description: ""
      tags:
        - circuits
    parameters:
      - description: A unique integer value identifying this provider.
        in: path
        name: id
        required: true
        schema:
          type: integer
  /dcim/_choices/:
    get:
      description: ""
      operationId: dcim__choices_list
      responses:
        "200":
          description: ""
      tags:
        - dcim
    parameters: []
  "/dcim/_choices/{id}/":
    get:
      description: ""
      operationId: dcim__choices_read
      responses:
        "200":
          description: ""
      tags:
        - dcim
    parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
  /dcim/connected-device/:
    get:
      description: |-
        This endpoint allows a user to determine what device (if any) is connected to a given peer device and peer
        interface. This is useful in a situation where a device boots with no configuration, but can detect its neighbors
        via a protocol such as LLDP. Two query parameters must be included in the request:

        * `peer_device`: The name of the peer device
        * `peer_interface`: The name of the peer interface
      operationId: dcim_connected-device_list
      parameters:
        - description: The name of the peer device
          in: query
          name: peer_device
          required: true
          schema:
            type: string
        - description: The name of the peer interface
          in: query
          name: peer_interface
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Device"
          description: ""
      tags:
        - dcim
    parameters: []
  /dcim/console-connections/:
    get:
      description: ""
      operationId: dcim_console-connections_list
      parameters:
        - description: ""
          in: query
          name: name
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: connection_status
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: site
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: device
          required: false
          schema:
            type: string
        - description: Number of results to return per page.
          in: query
          name: limit
          required: false
          schema:
            type: integer
        - description: The initial index from which to return the results.
          in: query
          name: offset
          required: false
          schema:
            type: integer
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  count:
                    type: integer
                  next:
                    format: uri
                    nullable: true
                    type: string
                  previous:
                    format: uri
                    nullable: true
                    type: string
                  results:
                    items:
                      $ref: "#/components/schemas/ConsolePort"
                    type: array
                required:
                  - count
                  - results
                type: object
          description: ""
      tags:
        - dcim
    parameters: []
  /dcim/console-port-templates/:
    get:
      description: ""
      operationId: dcim_console-port-templates_list
      parameters:
        - description: ""
          in: query
          name: name
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: devicetype_id
          required: false
          schema:
            type: string
        - description: Number of results to return per page.
          in: query
          name: limit
          required: false
          schema:
            type: integer
        - description: The initial index from which to return the results.
          in: query
          name: offset
          required: false
          schema:
            type: integer
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  count:
                    type: integer
                  next:
                    format: uri
                    nullable: true
                    type: string
                  previous:
                    format: uri
                    nullable: true
                    type: string
                  results:
                    items:
                      $ref: "#/components/schemas/ConsolePortTemplate"
                    type: array
                required:
                  - count
                  - results
                type: object
          description: ""
      tags:
        - dcim
    parameters: []
    post:
      description: ""
      operationId: dcim_console-port-templates_create
      requestBody:
        $ref: "#/components/requestBodies/WritableConsolePortTemplate"
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ConsolePortTemplate"
          description: ""
      tags:
        - dcim
  "/dcim/console-port-templates/{id}/":
    delete:
      description: ""
      operationId: dcim_console-port-templates_delete
      responses:
        "204":
          description: ""
      tags:
        - dcim
    get:
      description: ""
      operationId: dcim_console-port-templates_read
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ConsolePortTemplate"
          description: ""
      tags:
        - dcim
    parameters:
      - description: A unique integer value identifying this console port template.
        in: path
        name: id
        required: true
        schema:
          type: integer
    patch:
      description: ""
      operationId: dcim_console-port-templates_partial_update
      requestBody:
        $ref: "#/components/requestBodies/WritableConsolePortTemplate"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ConsolePortTemplate"
          description: ""
      tags:
        - dcim
    put:
      description: ""
      operationId: dcim_console-port-templates_update
      requestBody:
        $ref: "#/components/requestBodies/WritableConsolePortTemplate"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ConsolePortTemplate"
          description: ""
      tags:
        - dcim
  /dcim/console-ports/:
    get:
      description: ""
      operationId: dcim_console-ports_list
      parameters:
        - description: ""
          in: query
          name: name
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: device_id
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: device
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: tag
          required: false
          schema:
            type: string
        - description: Number of results to return per page.
          in: query
          name: limit
          required: false
          schema:
            type: integer
        - description: The initial index from which to return the results.
          in: query
          name: offset
          required: false
          schema:
            type: integer
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  count:
                    type: integer
                  next:
                    format: uri
                    nullable: true
                    type: string
                  previous:
                    format: uri
                    nullable: true
                    type: string
                  results:
                    items:
                      $ref: "#/components/schemas/ConsolePort"
                    type: array
                required:
                  - count
                  - results
                type: object
          description: ""
      tags:
        - dcim
    parameters: []
    post:
      description: ""
      operationId: dcim_console-ports_create
      requestBody:
        $ref: "#/components/requestBodies/WritableConsolePort"
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ConsolePort"
          description: ""
      tags:
        - dcim
  "/dcim/console-ports/{id}/":
    delete:
      description: ""
      operationId: dcim_console-ports_delete
      responses:
        "204":
          description: ""
      tags:
        - dcim
    get:
      description: ""
      operationId: dcim_console-ports_read
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ConsolePort"
          description: ""
      tags:
        - dcim
    parameters:
      - description: A unique integer value identifying this console port.
        in: path
        name: id
        required: true
        schema:
          type: integer
    patch:
      description: ""
      operationId: dcim_console-ports_partial_update
      requestBody:
        $ref: "#/components/requestBodies/WritableConsolePort"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ConsolePort"
          description: ""
      tags:
        - dcim
    put:
      description: ""
      operationId: dcim_console-ports_update
      requestBody:
        $ref: "#/components/requestBodies/WritableConsolePort"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ConsolePort"
          description: ""
      tags:
        - dcim
  /dcim/console-server-port-templates/:
    get:
      description: ""
      operationId: dcim_console-server-port-templates_list
      parameters:
        - description: ""
          in: query
          name: name
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: devicetype_id
          required: false
          schema:
            type: string
        - description: Number of results to return per page.
          in: query
          name: limit
          required: false
          schema:
            type: integer
        - description: The initial index from which to return the results.
          in: query
          name: offset
          required: false
          schema:
            type: integer
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  count:
                    type: integer
                  next:
                    format: uri
                    nullable: true
                    type: string
                  previous:
                    format: uri
                    nullable: true
                    type: string
                  results:
                    items:
                      $ref: "#/components/schemas/ConsoleServerPortTemplate"
                    type: array
                required:
                  - count
                  - results
                type: object
          description: ""
      tags:
        - dcim
    parameters: []
    post:
      description: ""
      operationId: dcim_console-server-port-templates_create
      requestBody:
        $ref: "#/components/requestBodies/WritableConsoleServerPortTemplate"
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ConsoleServerPortTemplate"
          description: ""
      tags:
        - dcim
  "/dcim/console-server-port-templates/{id}/":
    delete:
      description: ""
      operationId: dcim_console-server-port-templates_delete
      responses:
        "204":
          description: ""
      tags:
        - dcim
    get:
      description: ""
      operationId: dcim_console-server-port-templates_read
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ConsoleServerPortTemplate"
          description: ""
      tags:
        - dcim
    parameters:
      - description: A unique integer value identifying this console server port template.
        in: path
        name: id
        required: true
        schema:
          type: integer
    patch:
      description: ""
      operationId: dcim_console-server-port-templates_partial_update
      requestBody:
        $ref: "#/components/requestBodies/WritableConsoleServerPortTemplate"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ConsoleServerPortTemplate"
          description: ""
      tags:
        - dcim
    put:
      description: ""
      operationId: dcim_console-server-port-templates_update
      requestBody:
        $ref: "#/components/requestBodies/WritableConsoleServerPortTemplate"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ConsoleServerPortTemplate"
          description: ""
      tags:
        - dcim
  /dcim/console-server-ports/:
    get:
      description: ""
      operationId: dcim_console-server-ports_list
      parameters:
        - description: ""
          in: query
          name: name
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: device_id
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: device
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: tag
          required: false
          schema:
            type: string
        - description: Number of results to return per page.
          in: query
          name: limit
          required: false
          schema:
            type: integer
        - description: The initial index from which to return the results.
          in: query
          name: offset
          required: false
          schema:
            type: integer
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  count:
                    type: integer
                  next:
                    format: uri
                    nullable: true
                    type: string
                  previous:
                    format: uri
                    nullable: true
                    type: string
                  results:
                    items:
                      $ref: "#/components/schemas/ConsoleServerPort"
                    type: array
                required:
                  - count
                  - results
                type: object
          description: ""
      tags:
        - dcim
    parameters: []
    post:
      description: ""
      operationId: dcim_console-server-ports_create
      requestBody:
        $ref: "#/components/requestBodies/WritableConsoleServerPort"
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ConsoleServerPort"
          description: ""
      tags:
        - dcim
  "/dcim/console-server-ports/{id}/":
    delete:
      description: ""
      operationId: dcim_console-server-ports_delete
      responses:
        "204":
          description: ""
      tags:
        - dcim
    get:
      description: ""
      operationId: dcim_console-server-ports_read
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ConsoleServerPort"
          description: ""
      tags:
        - dcim
    parameters:
      - description: A unique integer value identifying this console server port.
        in: path
        name: id
        required: true
        schema:
          type: integer
    patch:
      description: ""
      operationId: dcim_console-server-ports_partial_update
      requestBody:
        $ref: "#/components/requestBodies/WritableConsoleServerPort"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ConsoleServerPort"
          description: ""
      tags:
        - dcim
    put:
      description: ""
      operationId: dcim_console-server-ports_update
      requestBody:
        $ref: "#/components/requestBodies/WritableConsoleServerPort"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ConsoleServerPort"
          description: ""
      tags:
        - dcim
  /dcim/device-bay-templates/:
    get:
      description: ""
      operationId: dcim_device-bay-templates_list
      parameters:
        - description: ""
          in: query
          name: name
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: devicetype_id
          required: false
          schema:
            type: string
        - description: Number of results to return per page.
          in: query
          name: limit
          required: false
          schema:
            type: integer
        - description: The initial index from which to return the results.
          in: query
          name: offset
          required: false
          schema:
            type: integer
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  count:
                    type: integer
                  next:
                    format: uri
                    nullable: true
                    type: string
                  previous:
                    format: uri
                    nullable: true
                    type: string
                  results:
                    items:
                      $ref: "#/components/schemas/DeviceBayTemplate"
                    type: array
                required:
                  - count
                  - results
                type: object
          description: ""
      tags:
        - dcim
    parameters: []
    post:
      description: ""
      operationId: dcim_device-bay-templates_create
      requestBody:
        $ref: "#/components/requestBodies/WritableDeviceBayTemplate"
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DeviceBayTemplate"
          description: ""
      tags:
        - dcim
  "/dcim/device-bay-templates/{id}/":
    delete:
      description: ""
      operationId: dcim_device-bay-templates_delete
      responses:
        "204":
          description: ""
      tags:
        - dcim
    get:
      description: ""
      operationId: dcim_device-bay-templates_read
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DeviceBayTemplate"
          description: ""
      tags:
        - dcim
    parameters:
      - description: A unique integer value identifying this device bay template.
        in: path
        name: id
        required: true
        schema:
          type: integer
    patch:
      description: ""
      operationId: dcim_device-bay-templates_partial_update
      requestBody:
        $ref: "#/components/requestBodies/WritableDeviceBayTemplate"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DeviceBayTemplate"
          description: ""
      tags:
        - dcim
    put:
      description: ""
      operationId: dcim_device-bay-templates_update
      requestBody:
        $ref: "#/components/requestBodies/WritableDeviceBayTemplate"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DeviceBayTemplate"
          description: ""
      tags:
        - dcim
  /dcim/device-bays/:
    get:
      description: ""
      operationId: dcim_device-bays_list
      parameters:
        - description: ""
          in: query
          name: name
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: device_id
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: device
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: tag
          required: false
          schema:
            type: string
        - description: Number of results to return per page.
          in: query
          name: limit
          required: false
          schema:
            type: integer
        - description: The initial index from which to return the results.
          in: query
          name: offset
          required: false
          schema:
            type: integer
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  count:
                    type: integer
                  next:
                    format: uri
                    nullable: true
                    type: string
                  previous:
                    format: uri
                    nullable: true
                    type: string
                  results:
                    items:
                      $ref: "#/components/schemas/DeviceBay"
                    type: array
                required:
                  - count
                  - results
                type: object
          description: ""
      tags:
        - dcim
    parameters: []
    post:
      description: ""
      operationId: dcim_device-bays_create
      requestBody:
        $ref: "#/components/requestBodies/WritableDeviceBay"
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DeviceBay"
          description: ""
      tags:
        - dcim
  "/dcim/device-bays/{id}/":
    delete:
      description: ""
      operationId: dcim_device-bays_delete
      responses:
        "204":
          description: ""
      tags:
        - dcim
    get:
      description: ""
      operationId: dcim_device-bays_read
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DeviceBay"
          description: ""
      tags:
        - dcim
    parameters:
      - description: A unique integer value identifying this device bay.
        in: path
        name: id
        required: true
        schema:
          type: integer
    patch:
      description: ""
      operationId: dcim_device-bays_partial_update
      requestBody:
        $ref: "#/components/requestBodies/WritableDeviceBay"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DeviceBay"
          description: ""
      tags:
        - dcim
    put:
      description: ""
      operationId: dcim_device-bays_update
      requestBody:
        $ref: "#/components/requestBodies/WritableDeviceBay"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DeviceBay"
          description: ""
      tags:
        - dcim
  /dcim/device-roles/:
    get:
      description: ""
      operationId: dcim_device-roles_list
      parameters:
        - description: ""
          in: query
          name: name
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: slug
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: color
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: vm_role
          required: false
          schema:
            type: string
        - description: Number of results to return per page.
          in: query
          name: limit
          required: false
          schema:
            type: integer
        - description: The initial index from which to return the results.
          in: query
          name: offset
          required: false
          schema:
            type: integer
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  count:
                    type: integer
                  next:
                    format: uri
                    nullable: true
                    type: string
                  previous:
                    format: uri
                    nullable: true
                    type: string
                  results:
                    items:
                      $ref: "#/components/schemas/DeviceRole"
                    type: array
                required:
                  - count
                  - results
                type: object
          description: ""
      tags:
        - dcim
    parameters: []
    post:
      description: ""
      operationId: dcim_device-roles_create
      requestBody:
        $ref: "#/components/requestBodies/DeviceRole"
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DeviceRole"
          description: ""
      tags:
        - dcim
  "/dcim/device-roles/{id}/":
    delete:
      description: ""
      operationId: dcim_device-roles_delete
      responses:
        "204":
          description: ""
      tags:
        - dcim
    get:
      description: ""
      operationId: dcim_device-roles_read
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DeviceRole"
          description: ""
      tags:
        - dcim
    parameters:
      - description: A unique integer value identifying this device role.
        in: path
        name: id
        required: true
        schema:
          type: integer
    patch:
      description: ""
      operationId: dcim_device-roles_partial_update
      requestBody:
        $ref: "#/components/requestBodies/DeviceRole"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DeviceRole"
          description: ""
      tags:
        - dcim
    put:
      description: ""
      operationId: dcim_device-roles_update
      requestBody:
        $ref: "#/components/requestBodies/DeviceRole"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DeviceRole"
          description: ""
      tags:
        - dcim
  /dcim/device-types/:
    get:
      description: ""
      operationId: dcim_device-types_list
      parameters:
        - description: ""
          in: query
          name: model
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: slug
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: part_number
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: u_height
          required: false
          schema:
            type: number
        - description: ""
          in: query
          name: is_full_depth
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: is_console_server
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: is_pdu
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: is_network_device
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: subdevice_role
          required: false
          schema:
            type: string
        - description: Multiple values may be separated by commas.
          in: query
          name: id__in
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: q
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: manufacturer_id
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: manufacturer
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: tag
          required: false
          schema:
            type: string
        - description: Number of results to return per page.
          in: query
          name: limit
          required: false
          schema:
            type: integer
        - description: The initial index from which to return the results.
          in: query
          name: offset
          required: false
          schema:
            type: integer
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  count:
                    type: integer
                  next:
                    format: uri
                    nullable: true
                    type: string
                  previous:
                    format: uri
                    nullable: true
                    type: string
                  results:
                    items:
                      $ref: "#/components/schemas/DeviceType"
                    type: array
                required:
                  - count
                  - results
                type: object
          description: ""
      tags:
        - dcim
    parameters: []
    post:
      description: ""
      operationId: dcim_device-types_create
      requestBody:
        $ref: "#/components/requestBodies/WritableDeviceType"
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DeviceType"
          description: ""
      tags:
        - dcim
  "/dcim/device-types/{id}/":
    delete:
      description: ""
      operationId: dcim_device-types_delete
      responses:
        "204":
          description: ""
      tags:
        - dcim
    get:
      description: ""
      operationId: dcim_device-types_read
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DeviceType"
          description: ""
      tags:
        - dcim
    parameters:
      - description: A unique integer value identifying this device type.
        in: path
        name: id
        required: true
        schema:
          type: integer
    patch:
      description: ""
      operationId: dcim_device-types_partial_update
      requestBody:
        $ref: "#/components/requestBodies/WritableDeviceType"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DeviceType"
          description: ""
      tags:
        - dcim
    put:
      description: ""
      operationId: dcim_device-types_update
      requestBody:
        $ref: "#/components/requestBodies/WritableDeviceType"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DeviceType"
          description: ""
      tags:
        - dcim
  /dcim/devices/:
    get:
      description: ""
      operationId: dcim_devices_list
      parameters:
        - description: ""
          in: query
          name: serial
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: position
          required: false
          schema:
            type: number
        - description: Multiple values may be separated by commas.
          in: query
          name: id__in
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: q
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: manufacturer_id
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: manufacturer
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: device_type_id
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: role_id
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: role
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: tenant_id
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: tenant
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: platform_id
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: platform
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: name
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: asset_tag
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: region_id
          required: false
          schema:
            type: number
        - description: ""
          in: query
          name: region
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: site_id
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: site
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: rack_group_id
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: rack_id
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: cluster_id
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: model
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: status
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: is_full_depth
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: is_console_server
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: is_pdu
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: is_network_device
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: mac_address
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: has_primary_ip
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: virtual_chassis_id
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: tag
          required: false
          schema:
            type: string
        - description: Number of results to return per page.
          in: query
          name: limit
          required: false
          schema:
            type: integer
        - description: The initial index from which to return the results.
          in: query
          name: offset
          required: false
          schema:
            type: integer
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  count:
                    type: integer
                  next:
                    format: uri
                    nullable: true
                    type: string
                  previous:
                    format: uri
                    nullable: true
                    type: string
                  results:
                    items:
                      $ref: "#/components/schemas/Device"
                    type: array
                required:
                  - count
                  - results
                type: object
          description: ""
      tags:
        - dcim
    parameters: []
    post:
      description: ""
      operationId: dcim_devices_create
      requestBody:
        $ref: "#/components/requestBodies/WritableDevice"
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Device"
          description: ""
      tags:
        - dcim
  "/dcim/devices/{id}/":
    delete:
      description: ""
      operationId: dcim_devices_delete
      responses:
        "204":
          description: ""
      tags:
        - dcim
    get:
      description: ""
      operationId: dcim_devices_read
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DeviceWithConfigContext"
          description: ""
      tags:
        - dcim
    parameters:
      - description: A unique integer value identifying this device.
        in: path
        name: id
        required: true
        schema:
          type: integer
    patch:
      description: ""
      operationId: dcim_devices_partial_update
      requestBody:
        $ref: "#/components/requestBodies/WritableDevice"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Device"
          description: ""
      tags:
        - dcim
    put:
      description: ""
      operationId: dcim_devices_update
      requestBody:
        $ref: "#/components/requestBodies/WritableDevice"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Device"
          description: ""
      tags:
        - dcim
  "/dcim/devices/{id}/napalm/":
    get:
      description: Execute a NAPALM method on a Device
      operationId: dcim_devices_napalm
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Device"
          description: ""
      tags:
        - dcim
    parameters:
      - description: A unique integer value identifying this device.
        in: path
        name: id
        required: true
        schema:
          type: integer
  /dcim/interface-connections/:
    get:
      description: ""
      operationId: dcim_interface-connections_list
      parameters:
        - description: ""
          in: query
          name: connection_status
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: site
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: device
          required: false
          schema:
            type: string
        - description: Number of results to return per page.
          in: query
          name: limit
          required: false
          schema:
            type: integer
        - description: The initial index from which to return the results.
          in: query
          name: offset
          required: false
          schema:
            type: integer
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  count:
                    type: integer
                  next:
                    format: uri
                    nullable: true
                    type: string
                  previous:
                    format: uri
                    nullable: true
                    type: string
                  results:
                    items:
                      $ref: "#/components/schemas/InterfaceConnection"
                    type: array
                required:
                  - count
                  - results
                type: object
          description: ""
      tags:
        - dcim
    parameters: []
    post:
      description: ""
      operationId: dcim_interface-connections_create
      requestBody:
        $ref: "#/components/requestBodies/WritableInterfaceConnection"
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/InterfaceConnection"
          description: ""
      tags:
        - dcim
  "/dcim/interface-connections/{id}/":
    delete:
      description: ""
      operationId: dcim_interface-connections_delete
      responses:
        "204":
          description: ""
      tags:
        - dcim
    get:
      description: ""
      operationId: dcim_interface-connections_read
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/InterfaceConnection"
          description: ""
      tags:
        - dcim
    parameters:
      - description: A unique integer value identifying this interface connection.
        in: path
        name: id
        required: true
        schema:
          type: integer
    patch:
      description: ""
      operationId: dcim_interface-connections_partial_update
      requestBody:
        $ref: "#/components/requestBodies/WritableInterfaceConnection"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/InterfaceConnection"
          description: ""
      tags:
        - dcim
    put:
      description: ""
      operationId: dcim_interface-connections_update
      requestBody:
        $ref: "#/components/requestBodies/WritableInterfaceConnection"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/InterfaceConnection"
          description: ""
      tags:
        - dcim
  /dcim/interface-templates/:
    get:
      description: ""
      operationId: dcim_interface-templates_list
      parameters:
        - description: ""
          in: query
          name: name
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: form_factor
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: mgmt_only
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: devicetype_id
          required: false
          schema:
            type: string
        - description: Number of results to return per page.
          in: query
          name: limit
          required: false
          schema:
            type: integer
        - description: The initial index from which to return the results.
          in: query
          name: offset
          required: false
          schema:
            type: integer
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  count:
                    type: integer
                  next:
                    format: uri
                    nullable: true
                    type: string
                  previous:
                    format: uri
                    nullable: true
                    type: string
                  results:
                    items:
                      $ref: "#/components/schemas/InterfaceTemplate"
                    type: array
                required:
                  - count
                  - results
                type: object
          description: ""
      tags:
        - dcim
    parameters: []
    post:
      description: ""
      operationId: dcim_interface-templates_create
      requestBody:
        $ref: "#/components/requestBodies/WritableInterfaceTemplate"
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/InterfaceTemplate"
          description: ""
      tags:
        - dcim
  "/dcim/interface-templates/{id}/":
    delete:
      description: ""
      operationId: dcim_interface-templates_delete
      responses:
        "204":
          description: ""
      tags:
        - dcim
    get:
      description: ""
      operationId: dcim_interface-templates_read
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/InterfaceTemplate"
          description: ""
      tags:
        - dcim
    parameters:
      - description: A unique integer value identifying this interface template.
        in: path
        name: id
        required: true
        schema:
          type: integer
    patch:
      description: ""
      operationId: dcim_interface-templates_partial_update
      requestBody:
        $ref: "#/components/requestBodies/WritableInterfaceTemplate"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/InterfaceTemplate"
          description: ""
      tags:
        - dcim
    put:
      description: ""
      operationId: dcim_interface-templates_update
      requestBody:
        $ref: "#/components/requestBodies/WritableInterfaceTemplate"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/InterfaceTemplate"
          description: ""
      tags:
        - dcim
  /dcim/interfaces/:
    get:
      description: ""
      operationId: dcim_interfaces_list
      parameters:
        - description: ""
          in: query
          name: name
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: enabled
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: mtu
          required: false
          schema:
            type: number
        - description: ""
          in: query
          name: mgmt_only
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: device
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: device_id
          required: false
          schema:
            type: number
        - description: ""
          in: query
          name: type
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: lag_id
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: mac_address
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: tag
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: vlan_id
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: vlan
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: form_factor
          required: false
          schema:
            type: string
        - description: Number of results to return per page.
          in: query
          name: limit
          required: false
          schema:
            type: integer
        - description: The initial index from which to return the results.
          in: query
          name: offset
          required: false
          schema:
            type: integer
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  count:
                    type: integer
                  next:
                    format: uri
                    nullable: true
                    type: string
                  previous:
                    format: uri
                    nullable: true
                    type: string
                  results:
                    items:
                      $ref: "#/components/schemas/Interface"
                    type: array
                required:
                  - count
                  - results
                type: object
          description: ""
      tags:
        - dcim
    parameters: []
    post:
      description: ""
      operationId: dcim_interfaces_create
      requestBody:
        $ref: "#/components/requestBodies/WritableInterface"
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Interface"
          description: ""
      tags:
        - dcim
  "/dcim/interfaces/{id}/":
    delete:
      description: ""
      operationId: dcim_interfaces_delete
      responses:
        "204":
          description: ""
      tags:
        - dcim
    get:
      description: ""
      operationId: dcim_interfaces_read
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Interface"
          description: ""
      tags:
        - dcim
    parameters:
      - description: A unique integer value identifying this interface.
        in: path
        name: id
        required: true
        schema:
          type: integer
    patch:
      description: ""
      operationId: dcim_interfaces_partial_update
      requestBody:
        $ref: "#/components/requestBodies/WritableInterface"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Interface"
          description: ""
      tags:
        - dcim
    put:
      description: ""
      operationId: dcim_interfaces_update
      requestBody:
        $ref: "#/components/requestBodies/WritableInterface"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Interface"
          description: ""
      tags:
        - dcim
  "/dcim/interfaces/{id}/graphs/":
    get:
      description: A convenience method for rendering graphs for a particular interface.
      operationId: dcim_interfaces_graphs
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Interface"
          description: ""
      tags:
        - dcim
    parameters:
      - description: A unique integer value identifying this interface.
        in: path
        name: id
        required: true
        schema:
          type: integer
  /dcim/inventory-items/:
    get:
      description: ""
      operationId: dcim_inventory-items_list
      parameters:
        - description: ""
          in: query
          name: name
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: part_id
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: serial
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: asset_tag
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: discovered
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: device_id
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: device
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: tag
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: q
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: parent_id
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: manufacturer_id
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: manufacturer
          required: false
          schema:
            type: string
        - description: Number of results to return per page.
          in: query
          name: limit
          required: false
          schema:
            type: integer
        - description: The initial index from which to return the results.
          in: query
          name: offset
          required: false
          schema:
            type: integer
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  count:
                    type: integer
                  next:
                    format: uri
                    nullable: true
                    type: string
                  previous:
                    format: uri
                    nullable: true
                    type: string
                  results:
                    items:
                      $ref: "#/components/schemas/InventoryItem"
                    type: array
                required:
                  - count
                  - results
                type: object
          description: ""
      tags:
        - dcim
    parameters: []
    post:
      description: ""
      operationId: dcim_inventory-items_create
      requestBody:
        $ref: "#/components/requestBodies/WritableInventoryItem"
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/InventoryItem"
          description: ""
      tags:
        - dcim
  "/dcim/inventory-items/{id}/":
    delete:
      description: ""
      operationId: dcim_inventory-items_delete
      responses:
        "204":
          description: ""
      tags:
        - dcim
    get:
      description: ""
      operationId: dcim_inventory-items_read
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/InventoryItem"
          description: ""
      tags:
        - dcim
    parameters:
      - description: A unique integer value identifying this inventory item.
        in: path
        name: id
        required: true
        schema:
          type: integer
    patch:
      description: ""
      operationId: dcim_inventory-items_partial_update
      requestBody:
        $ref: "#/components/requestBodies/WritableInventoryItem"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/InventoryItem"
          description: ""
      tags:
        - dcim
    put:
      description: ""
      operationId: dcim_inventory-items_update
      requestBody:
        $ref: "#/components/requestBodies/WritableInventoryItem"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/InventoryItem"
          description: ""
      tags:
        - dcim
  /dcim/manufacturers/:
    get:
      description: ""
      operationId: dcim_manufacturers_list
      parameters:
        - description: ""
          in: query
          name: name
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: slug
          required: false
          schema:
            type: string
        - description: Number of results to return per page.
          in: query
          name: limit
          required: false
          schema:
            type: integer
        - description: The initial index from which to return the results.
          in: query
          name: offset
          required: false
          schema:
            type: integer
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  count:
                    type: integer
                  next:
                    format: uri
                    nullable: true
                    type: string
                  previous:
                    format: uri
                    nullable: true
                    type: string
                  results:
                    items:
                      $ref: "#/components/schemas/Manufacturer"
                    type: array
                required:
                  - count
                  - results
                type: object
          description: ""
      tags:
        - dcim
    parameters: []
    post:
      description: ""
      operationId: dcim_manufacturers_create
      requestBody:
        $ref: "#/components/requestBodies/Manufacturer"
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Manufacturer"
          description: ""
      tags:
        - dcim
  "/dcim/manufacturers/{id}/":
    delete:
      description: ""
      operationId: dcim_manufacturers_delete
      responses:
        "204":
          description: ""
      tags:
        - dcim
    get:
      description: ""
      operationId: dcim_manufacturers_read
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Manufacturer"
          description: ""
      tags:
        - dcim
    parameters:
      - description: A unique integer value identifying this manufacturer.
        in: path
        name: id
        required: true
        schema:
          type: integer
    patch:
      description: ""
      operationId: dcim_manufacturers_partial_update
      requestBody:
        $ref: "#/components/requestBodies/Manufacturer"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Manufacturer"
          description: ""
      tags:
        - dcim
    put:
      description: ""
      operationId: dcim_manufacturers_update
      requestBody:
        $ref: "#/components/requestBodies/Manufacturer"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Manufacturer"
          description: ""
      tags:
        - dcim
  /dcim/platforms/:
    get:
      description: ""
      operationId: dcim_platforms_list
      parameters:
        - description: ""
          in: query
          name: name
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: slug
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: manufacturer_id
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: manufacturer
          required: false
          schema:
            type: string
        - description: Number of results to return per page.
          in: query
          name: limit
          required: false
          schema:
            type: integer
        - description: The initial index from which to return the results.
          in: query
          name: offset
          required: false
          schema:
            type: integer
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  count:
                    type: integer
                  next:
                    format: uri
                    nullable: true
                    type: string
                  previous:
                    format: uri
                    nullable: true
                    type: string
                  results:
                    items:
                      $ref: "#/components/schemas/Platform"
                    type: array
                required:
                  - count
                  - results
                type: object
          description: ""
      tags:
        - dcim
    parameters: []
    post:
      description: ""
      operationId: dcim_platforms_create
      requestBody:
        $ref: "#/components/requestBodies/WritablePlatform"
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Platform"
          description: ""
      tags:
        - dcim
  "/dcim/platforms/{id}/":
    delete:
      description: ""
      operationId: dcim_platforms_delete
      responses:
        "204":
          description: ""
      tags:
        - dcim
    get:
      description: ""
      operationId: dcim_platforms_read
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Platform"
          description: ""
      tags:
        - dcim
    parameters:
      - description: A unique integer value identifying this platform.
        in: path
        name: id
        required: true
        schema:
          type: integer
    patch:
      description: ""
      operationId: dcim_platforms_partial_update
      requestBody:
        $ref: "#/components/requestBodies/WritablePlatform"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Platform"
          description: ""
      tags:
        - dcim
    put:
      description: ""
      operationId: dcim_platforms_update
      requestBody:
        $ref: "#/components/requestBodies/WritablePlatform"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Platform"
          description: ""
      tags:
        - dcim
  /dcim/power-connections/:
    get:
      description: ""
      operationId: dcim_power-connections_list
      parameters:
        - description: ""
          in: query
          name: name
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: connection_status
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: site
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: device
          required: false
          schema:
            type: string
        - description: Number of results to return per page.
          in: query
          name: limit
          required: false
          schema:
            type: integer
        - description: The initial index from which to return the results.
          in: query
          name: offset
          required: false
          schema:
            type: integer
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  count:
                    type: integer
                  next:
                    format: uri
                    nullable: true
                    type: string
                  previous:
                    format: uri
                    nullable: true
                    type: string
                  results:
                    items:
                      $ref: "#/components/schemas/PowerPort"
                    type: array
                required:
                  - count
                  - results
                type: object
          description: ""
      tags:
        - dcim
    parameters: []
  /dcim/power-outlet-templates/:
    get:
      description: ""
      operationId: dcim_power-outlet-templates_list
      parameters:
        - description: ""
          in: query
          name: name
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: devicetype_id
          required: false
          schema:
            type: string
        - description: Number of results to return per page.
          in: query
          name: limit
          required: false
          schema:
            type: integer
        - description: The initial index from which to return the results.
          in: query
          name: offset
          required: false
          schema:
            type: integer
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  count:
                    type: integer
                  next:
                    format: uri
                    nullable: true
                    type: string
                  previous:
                    format: uri
                    nullable: true
                    type: string
                  results:
                    items:
                      $ref: "#/components/schemas/PowerOutletTemplate"
                    type: array
                required:
                  - count
                  - results
                type: object
          description: ""
      tags:
        - dcim
    parameters: []
    post:
      description: ""
      operationId: dcim_power-outlet-templates_create
      requestBody:
        $ref: "#/components/requestBodies/WritablePowerOutletTemplate"
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PowerOutletTemplate"
          description: ""
      tags:
        - dcim
  "/dcim/power-outlet-templates/{id}/":
    delete:
      description: ""
      operationId: dcim_power-outlet-templates_delete
      responses:
        "204":
          description: ""
      tags:
        - dcim
    get:
      description: ""
      operationId: dcim_power-outlet-templates_read
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PowerOutletTemplate"
          description: ""
      tags:
        - dcim
    parameters:
      - description: A unique integer value identifying this power outlet template.
        in: path
        name: id
        required: true
        schema:
          type: integer
    patch:
      description: ""
      operationId: dcim_power-outlet-templates_partial_update
      requestBody:
        $ref: "#/components/requestBodies/WritablePowerOutletTemplate"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PowerOutletTemplate"
          description: ""
      tags:
        - dcim
    put:
      description: ""
      operationId: dcim_power-outlet-templates_update
      requestBody:
        $ref: "#/components/requestBodies/WritablePowerOutletTemplate"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PowerOutletTemplate"
          description: ""
      tags:
        - dcim
  /dcim/power-outlets/:
    get:
      description: ""
      operationId: dcim_power-outlets_list
      parameters:
        - description: ""
          in: query
          name: name
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: device_id
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: device
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: tag
          required: false
          schema:
            type: string
        - description: Number of results to return per page.
          in: query
          name: limit
          required: false
          schema:
            type: integer
        - description: The initial index from which to return the results.
          in: query
          name: offset
          required: false
          schema:
            type: integer
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  count:
                    type: integer
                  next:
                    format: uri
                    nullable: true
                    type: string
                  previous:
                    format: uri
                    nullable: true
                    type: string
                  results:
                    items:
                      $ref: "#/components/schemas/PowerOutlet"
                    type: array
                required:
                  - count
                  - results
                type: object
          description: ""
      tags:
        - dcim
    parameters: []
    post:
      description: ""
      operationId: dcim_power-outlets_create
      requestBody:
        $ref: "#/components/requestBodies/WritablePowerOutlet"
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PowerOutlet"
          description: ""
      tags:
        - dcim
  "/dcim/power-outlets/{id}/":
    delete:
      description: ""
      operationId: dcim_power-outlets_delete
      responses:
        "204":
          description: ""
      tags:
        - dcim
    get:
      description: ""
      operationId: dcim_power-outlets_read
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PowerOutlet"
          description: ""
      tags:
        - dcim
    parameters:
      - description: A unique integer value identifying this power outlet.
        in: path
        name: id
        required: true
        schema:
          type: integer
    patch:
      description: ""
      operationId: dcim_power-outlets_partial_update
      requestBody:
        $ref: "#/components/requestBodies/WritablePowerOutlet"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PowerOutlet"
          description: ""
      tags:
        - dcim
    put:
      description: ""
      operationId: dcim_power-outlets_update
      requestBody:
        $ref: "#/components/requestBodies/WritablePowerOutlet"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PowerOutlet"
          description: ""
      tags:
        - dcim
  /dcim/power-port-templates/:
    get:
      description: ""
      operationId: dcim_power-port-templates_list
      parameters:
        - description: ""
          in: query
          name: name
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: devicetype_id
          required: false
          schema:
            type: string
        - description: Number of results to return per page.
          in: query
          name: limit
          required: false
          schema:
            type: integer
        - description: The initial index from which to return the results.
          in: query
          name: offset
          required: false
          schema:
            type: integer
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  count:
                    type: integer
                  next:
                    format: uri
                    nullable: true
                    type: string
                  previous:
                    format: uri
                    nullable: true
                    type: string
                  results:
                    items:
                      $ref: "#/components/schemas/PowerPortTemplate"
                    type: array
                required:
                  - count
                  - results
                type: object
          description: ""
      tags:
        - dcim
    parameters: []
    post:
      description: ""
      operationId: dcim_power-port-templates_create
      requestBody:
        $ref: "#/components/requestBodies/WritablePowerPortTemplate"
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PowerPortTemplate"
          description: ""
      tags:
        - dcim
  "/dcim/power-port-templates/{id}/":
    delete:
      description: ""
      operationId: dcim_power-port-templates_delete
      responses:
        "204":
          description: ""
      tags:
        - dcim
    get:
      description: ""
      operationId: dcim_power-port-templates_read
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PowerPortTemplate"
          description: ""
      tags:
        - dcim
    parameters:
      - description: A unique integer value identifying this power port template.
        in: path
        name: id
        required: true
        schema:
          type: integer
    patch:
      description: ""
      operationId: dcim_power-port-templates_partial_update
      requestBody:
        $ref: "#/components/requestBodies/WritablePowerPortTemplate"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PowerPortTemplate"
          description: ""
      tags:
        - dcim
    put:
      description: ""
      operationId: dcim_power-port-templates_update
      requestBody:
        $ref: "#/components/requestBodies/WritablePowerPortTemplate"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PowerPortTemplate"
          description: ""
      tags:
        - dcim
  /dcim/power-ports/:
    get:
      description: ""
      operationId: dcim_power-ports_list
      parameters:
        - description: ""
          in: query
          name: name
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: device_id
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: device
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: tag
          required: false
          schema:
            type: string
        - description: Number of results to return per page.
          in: query
          name: limit
          required: false
          schema:
            type: integer
        - description: The initial index from which to return the results.
          in: query
          name: offset
          required: false
          schema:
            type: integer
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  count:
                    type: integer
                  next:
                    format: uri
                    nullable: true
                    type: string
                  previous:
                    format: uri
                    nullable: true
                    type: string
                  results:
                    items:
                      $ref: "#/components/schemas/PowerPort"
                    type: array
                required:
                  - count
                  - results
                type: object
          description: ""
      tags:
        - dcim
    parameters: []
    post:
      description: ""
      operationId: dcim_power-ports_create
      requestBody:
        $ref: "#/components/requestBodies/WritablePowerPort"
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PowerPort"
          description: ""
      tags:
        - dcim
  "/dcim/power-ports/{id}/":
    delete:
      description: ""
      operationId: dcim_power-ports_delete
      responses:
        "204":
          description: ""
      tags:
        - dcim
    get:
      description: ""
      operationId: dcim_power-ports_read
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PowerPort"
          description: ""
      tags:
        - dcim
    parameters:
      - description: A unique integer value identifying this power port.
        in: path
        name: id
        required: true
        schema:
          type: integer
    patch:
      description: ""
      operationId: dcim_power-ports_partial_update
      requestBody:
        $ref: "#/components/requestBodies/WritablePowerPort"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PowerPort"
          description: ""
      tags:
        - dcim
    put:
      description: ""
      operationId: dcim_power-ports_update
      requestBody:
        $ref: "#/components/requestBodies/WritablePowerPort"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PowerPort"
          description: ""
      tags:
        - dcim
  /dcim/rack-groups/:
    get:
      description: ""
      operationId: dcim_rack-groups_list
      parameters:
        - description: ""
          in: query
          name: site_id
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: name
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: slug
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: q
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: site
          required: false
          schema:
            type: string
        - description: Number of results to return per page.
          in: query
          name: limit
          required: false
          schema:
            type: integer
        - description: The initial index from which to return the results.
          in: query
          name: offset
          required: false
          schema:
            type: integer
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  count:
                    type: integer
                  next:
                    format: uri
                    nullable: true
                    type: string
                  previous:
                    format: uri
                    nullable: true
                    type: string
                  results:
                    items:
                      $ref: "#/components/schemas/RackGroup"
                    type: array
                required:
                  - count
                  - results
                type: object
          description: ""
      tags:
        - dcim
    parameters: []
    post:
      description: ""
      operationId: dcim_rack-groups_create
      requestBody:
        $ref: "#/components/requestBodies/WritableRackGroup"
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RackGroup"
          description: ""
      tags:
        - dcim
  "/dcim/rack-groups/{id}/":
    delete:
      description: ""
      operationId: dcim_rack-groups_delete
      responses:
        "204":
          description: ""
      tags:
        - dcim
    get:
      description: ""
      operationId: dcim_rack-groups_read
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RackGroup"
          description: ""
      tags:
        - dcim
    parameters:
      - description: A unique integer value identifying this rack group.
        in: path
        name: id
        required: true
        schema:
          type: integer
    patch:
      description: ""
      operationId: dcim_rack-groups_partial_update
      requestBody:
        $ref: "#/components/requestBodies/WritableRackGroup"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RackGroup"
          description: ""
      tags:
        - dcim
    put:
      description: ""
      operationId: dcim_rack-groups_update
      requestBody:
        $ref: "#/components/requestBodies/WritableRackGroup"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RackGroup"
          description: ""
      tags:
        - dcim
  /dcim/rack-reservations/:
    get:
      description: ""
      operationId: dcim_rack-reservations_list
      parameters:
        - description: ""
          in: query
          name: created
          required: false
          schema:
            type: string
        - description: Multiple values may be separated by commas.
          in: query
          name: id__in
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: q
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: rack_id
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: site_id
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: site
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: group_id
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: group
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: tenant_id
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: tenant
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: user_id
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: user
          required: false
          schema:
            type: string
        - description: Number of results to return per page.
          in: query
          name: limit
          required: false
          schema:
            type: integer
        - description: The initial index from which to return the results.
          in: query
          name: offset
          required: false
          schema:
            type: integer
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  count:
                    type: integer
                  next:
                    format: uri
                    nullable: true
                    type: string
                  previous:
                    format: uri
                    nullable: true
                    type: string
                  results:
                    items:
                      $ref: "#/components/schemas/RackReservation"
                    type: array
                required:
                  - count
                  - results
                type: object
          description: ""
      tags:
        - dcim
    parameters: []
    post:
      description: ""
      operationId: dcim_rack-reservations_create
      requestBody:
        $ref: "#/components/requestBodies/WritableRackReservation"
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RackReservation"
          description: ""
      tags:
        - dcim
  "/dcim/rack-reservations/{id}/":
    delete:
      description: ""
      operationId: dcim_rack-reservations_delete
      responses:
        "204":
          description: ""
      tags:
        - dcim
    get:
      description: ""
      operationId: dcim_rack-reservations_read
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RackReservation"
          description: ""
      tags:
        - dcim
    parameters:
      - description: A unique integer value identifying this rack reservation.
        in: path
        name: id
        required: true
        schema:
          type: integer
    patch:
      description: ""
      operationId: dcim_rack-reservations_partial_update
      requestBody:
        $ref: "#/components/requestBodies/WritableRackReservation"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RackReservation"
          description: ""
      tags:
        - dcim
    put:
      description: ""
      operationId: dcim_rack-reservations_update
      requestBody:
        $ref: "#/components/requestBodies/WritableRackReservation"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RackReservation"
          description: ""
      tags:
        - dcim
  /dcim/rack-roles/:
    get:
      description: ""
      operationId: dcim_rack-roles_list
      parameters:
        - description: ""
          in: query
          name: name
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: slug
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: color
          required: false
          schema:
            type: string
        - description: Number of results to return per page.
          in: query
          name: limit
          required: false
          schema:
            type: integer
        - description: The initial index from which to return the results.
          in: query
          name: offset
          required: false
          schema:
            type: integer
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  count:
                    type: integer
                  next:
                    format: uri
                    nullable: true
                    type: string
                  previous:
                    format: uri
                    nullable: true
                    type: string
                  results:
                    items:
                      $ref: "#/components/schemas/RackRole"
                    type: array
                required:
                  - count
                  - results
                type: object
          description: ""
      tags:
        - dcim
    parameters: []
    post:
      description: ""
      operationId: dcim_rack-roles_create
      requestBody:
        $ref: "#/components/requestBodies/RackRole"
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RackRole"
          description: ""
      tags:
        - dcim
  "/dcim/rack-roles/{id}/":
    delete:
      description: ""
      operationId: dcim_rack-roles_delete
      responses:
        "204":
          description: ""
      tags:
        - dcim
    get:
      description: ""
      operationId: dcim_rack-roles_read
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RackRole"
          description: ""
      tags:
        - dcim
    parameters:
      - description: A unique integer value identifying this rack role.
        in: path
        name: id
        required: true
        schema:
          type: integer
    patch:
      description: ""
      operationId: dcim_rack-roles_partial_update
      requestBody:
        $ref: "#/components/requestBodies/RackRole"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RackRole"
          description: ""
      tags:
        - dcim
    put:
      description: ""
      operationId: dcim_rack-roles_update
      requestBody:
        $ref: "#/components/requestBodies/RackRole"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RackRole"
          description: ""
      tags:
        - dcim
  /dcim/racks/:
    get:
      description: ""
      operationId: dcim_racks_list
      parameters:
        - description: ""
          in: query
          name: name
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: serial
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: type
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: width
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: u_height
          required: false
          schema:
            type: number
        - description: ""
          in: query
          name: desc_units
          required: false
          schema:
            type: string
        - description: Multiple values may be separated by commas.
          in: query
          name: id__in
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: q
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: facility_id
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: site_id
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: site
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: group_id
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: group
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: tenant_id
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: tenant
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: role_id
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: role
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: tag
          required: false
          schema:
            type: string
        - description: Number of results to return per page.
          in: query
          name: limit
          required: false
          schema:
            type: integer
        - description: The initial index from which to return the results.
          in: query
          name: offset
          required: false
          schema:
            type: integer
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  count:
                    type: integer
                  next:
                    format: uri
                    nullable: true
                    type: string
                  previous:
                    format: uri
                    nullable: true
                    type: string
                  results:
                    items:
                      $ref: "#/components/schemas/Rack"
                    type: array
                required:
                  - count
                  - results
                type: object
          description: ""
      tags:
        - dcim
    parameters: []
    post:
      description: ""
      operationId: dcim_racks_create
      requestBody:
        $ref: "#/components/requestBodies/WritableRack"
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Rack"
          description: ""
      tags:
        - dcim
  "/dcim/racks/{id}/":
    delete:
      description: ""
      operationId: dcim_racks_delete
      responses:
        "204":
          description: ""
      tags:
        - dcim
    get:
      description: ""
      operationId: dcim_racks_read
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Rack"
          description: ""
      tags:
        - dcim
    parameters:
      - description: A unique integer value identifying this rack.
        in: path
        name: id
        required: true
        schema:
          type: integer
    patch:
      description: ""
      operationId: dcim_racks_partial_update
      requestBody:
        $ref: "#/components/requestBodies/WritableRack"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Rack"
          description: ""
      tags:
        - dcim
    put:
      description: ""
      operationId: dcim_racks_update
      requestBody:
        $ref: "#/components/requestBodies/WritableRack"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Rack"
          description: ""
      tags:
        - dcim
  "/dcim/racks/{id}/units/":
    get:
      description: List rack units (by rack)
      operationId: dcim_racks_units
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Rack"
          description: ""
      tags:
        - dcim
    parameters:
      - description: A unique integer value identifying this rack.
        in: path
        name: id
        required: true
        schema:
          type: integer
  /dcim/regions/:
    get:
      description: ""
      operationId: dcim_regions_list
      parameters:
        - description: ""
          in: query
          name: name
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: slug
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: q
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: parent_id
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: parent
          required: false
          schema:
            type: string
        - description: Number of results to return per page.
          in: query
          name: limit
          required: false
          schema:
            type: integer
        - description: The initial index from which to return the results.
          in: query
          name: offset
          required: false
          schema:
            type: integer
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  count:
                    type: integer
                  next:
                    format: uri
                    nullable: true
                    type: string
                  previous:
                    format: uri
                    nullable: true
                    type: string
                  results:
                    items:
                      $ref: "#/components/schemas/Region"
                    type: array
                required:
                  - count
                  - results
                type: object
          description: ""
      tags:
        - dcim
    parameters: []
    post:
      description: ""
      operationId: dcim_regions_create
      requestBody:
        $ref: "#/components/requestBodies/WritableRegion"
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Region"
          description: ""
      tags:
        - dcim
  "/dcim/regions/{id}/":
    delete:
      description: ""
      operationId: dcim_regions_delete
      responses:
        "204":
          description: ""
      tags:
        - dcim
    get:
      description: ""
      operationId: dcim_regions_read
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Region"
          description: ""
      tags:
        - dcim
    parameters:
      - description: A unique integer value identifying this region.
        in: path
        name: id
        required: true
        schema:
          type: integer
    patch:
      description: ""
      operationId: dcim_regions_partial_update
      requestBody:
        $ref: "#/components/requestBodies/WritableRegion"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Region"
          description: ""
      tags:
        - dcim
    put:
      description: ""
      operationId: dcim_regions_update
      requestBody:
        $ref: "#/components/requestBodies/WritableRegion"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Region"
          description: ""
      tags:
        - dcim
  /dcim/sites/:
    get:
      description: ""
      operationId: dcim_sites_list
      parameters:
        - description: ""
          in: query
          name: q
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: name
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: slug
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: facility
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: asn
          required: false
          schema:
            type: number
        - description: ""
          in: query
          name: contact_name
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: contact_phone
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: contact_email
          required: false
          schema:
            type: string
        - description: Multiple values may be separated by commas.
          in: query
          name: id__in
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: status
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: region_id
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: region
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: tenant_id
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: tenant
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: tag
          required: false
          schema:
            type: string
        - description: Number of results to return per page.
          in: query
          name: limit
          required: false
          schema:
            type: integer
        - description: The initial index from which to return the results.
          in: query
          name: offset
          required: false
          schema:
            type: integer
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  count:
                    type: integer
                  next:
                    format: uri
                    nullable: true
                    type: string
                  previous:
                    format: uri
                    nullable: true
                    type: string
                  results:
                    items:
                      $ref: "#/components/schemas/Site"
                    type: array
                required:
                  - count
                  - results
                type: object
          description: ""
      tags:
        - dcim
    parameters: []
    post:
      description: ""
      operationId: dcim_sites_create
      requestBody:
        $ref: "#/components/requestBodies/WritableSite"
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Site"
          description: ""
      tags:
        - dcim
  "/dcim/sites/{id}/":
    delete:
      description: ""
      operationId: dcim_sites_delete
      responses:
        "204":
          description: ""
      tags:
        - dcim
    get:
      description: ""
      operationId: dcim_sites_read
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Site"
          description: ""
      tags:
        - dcim
    parameters:
      - description: A unique integer value identifying this site.
        in: path
        name: id
        required: true
        schema:
          type: integer
    patch:
      description: ""
      operationId: dcim_sites_partial_update
      requestBody:
        $ref: "#/components/requestBodies/WritableSite"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Site"
          description: ""
      tags:
        - dcim
    put:
      description: ""
      operationId: dcim_sites_update
      requestBody:
        $ref: "#/components/requestBodies/WritableSite"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Site"
          description: ""
      tags:
        - dcim
  "/dcim/sites/{id}/graphs/":
    get:
      description: A convenience method for rendering graphs for a particular site.
      operationId: dcim_sites_graphs
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Site"
          description: ""
      tags:
        - dcim
    parameters:
      - description: A unique integer value identifying this site.
        in: path
        name: id
        required: true
        schema:
          type: integer
  /dcim/virtual-chassis/:
    get:
      description: ""
      operationId: dcim_virtual-chassis_list
      parameters:
        - description: Number of results to return per page.
          in: query
          name: limit
          required: false
          schema:
            type: integer
        - description: The initial index from which to return the results.
          in: query
          name: offset
          required: false
          schema:
            type: integer
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  count:
                    type: integer
                  next:
                    format: uri
                    nullable: true
                    type: string
                  previous:
                    format: uri
                    nullable: true
                    type: string
                  results:
                    items:
                      $ref: "#/components/schemas/VirtualChassis"
                    type: array
                required:
                  - count
                  - results
                type: object
          description: ""
      tags:
        - dcim
    parameters: []
    post:
      description: ""
      operationId: dcim_virtual-chassis_create
      requestBody:
        $ref: "#/components/requestBodies/WritableVirtualChassis"
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/VirtualChassis"
          description: ""
      tags:
        - dcim
  "/dcim/virtual-chassis/{id}/":
    delete:
      description: ""
      operationId: dcim_virtual-chassis_delete
      responses:
        "204":
          description: ""
      tags:
        - dcim
    get:
      description: ""
      operationId: dcim_virtual-chassis_read
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/VirtualChassis"
          description: ""
      tags:
        - dcim
    parameters:
      - description: A unique integer value identifying this virtual chassis.
        in: path
        name: id
        required: true
        schema:
          type: integer
    patch:
      description: ""
      operationId: dcim_virtual-chassis_partial_update
      requestBody:
        $ref: "#/components/requestBodies/WritableVirtualChassis"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/VirtualChassis"
          description: ""
      tags:
        - dcim
    put:
      description: ""
      operationId: dcim_virtual-chassis_update
      requestBody:
        $ref: "#/components/requestBodies/WritableVirtualChassis"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/VirtualChassis"
          description: ""
      tags:
        - dcim
  /extras/_choices/:
    get:
      description: ""
      operationId: extras__choices_list
      responses:
        "200":
          description: ""
      tags:
        - extras
    parameters: []
  "/extras/_choices/{id}/":
    get:
      description: ""
      operationId: extras__choices_read
      responses:
        "200":
          description: ""
      tags:
        - extras
    parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
  /extras/config-contexts/:
    get:
      description: ""
      operationId: extras_config-contexts_list
      parameters:
        - description: ""
          in: query
          name: name
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: is_active
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: q
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: region_id
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: region
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: site_id
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: site
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: role_id
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: role
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: platform_id
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: platform
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: tenant_group_id
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: tenant_group
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: tenant_id
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: tenant
          required: false
          schema:
            type: string
        - description: Number of results to return per page.
          in: query
          name: limit
          required: false
          schema:
            type: integer
        - description: The initial index from which to return the results.
          in: query
          name: offset
          required: false
          schema:
            type: integer
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  count:
                    type: integer
                  next:
                    format: uri
                    nullable: true
                    type: string
                  previous:
                    format: uri
                    nullable: true
                    type: string
                  results:
                    items:
                      $ref: "#/components/schemas/ConfigContext"
                    type: array
                required:
                  - count
                  - results
                type: object
          description: ""
      tags:
        - extras
    parameters: []
    post:
      description: ""
      operationId: extras_config-contexts_create
      requestBody:
        $ref: "#/components/requestBodies/WritableConfigContext"
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ConfigContext"
          description: ""
      tags:
        - extras
  "/extras/config-contexts/{id}/":
    delete:
      description: ""
      operationId: extras_config-contexts_delete
      responses:
        "204":
          description: ""
      tags:
        - extras
    get:
      description: ""
      operationId: extras_config-contexts_read
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ConfigContext"
          description: ""
      tags:
        - extras
    parameters:
      - description: A unique integer value identifying this config context.
        in: path
        name: id
        required: true
        schema:
          type: integer
    patch:
      description: ""
      operationId: extras_config-contexts_partial_update
      requestBody:
        $ref: "#/components/requestBodies/WritableConfigContext"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ConfigContext"
          description: ""
      tags:
        - extras
    put:
      description: ""
      operationId: extras_config-contexts_update
      requestBody:
        $ref: "#/components/requestBodies/WritableConfigContext"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ConfigContext"
          description: ""
      tags:
        - extras
  /extras/export-templates/:
    get:
      description: ""
      operationId: extras_export-templates_list
      parameters:
        - description: ""
          in: query
          name: content_type
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: name
          required: false
          schema:
            type: string
        - description: Number of results to return per page.
          in: query
          name: limit
          required: false
          schema:
            type: integer
        - description: The initial index from which to return the results.
          in: query
          name: offset
          required: false
          schema:
            type: integer
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  count:
                    type: integer
                  next:
                    format: uri
                    nullable: true
                    type: string
                  previous:
                    format: uri
                    nullable: true
                    type: string
                  results:
                    items:
                      $ref: "#/components/schemas/ExportTemplate"
                    type: array
                required:
                  - count
                  - results
                type: object
          description: ""
      tags:
        - extras
    parameters: []
    post:
      description: ""
      operationId: extras_export-templates_create
      requestBody:
        $ref: "#/components/requestBodies/ExportTemplate"
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ExportTemplate"
          description: ""
      tags:
        - extras
  "/extras/export-templates/{id}/":
    delete:
      description: ""
      operationId: extras_export-templates_delete
      responses:
        "204":
          description: ""
      tags:
        - extras
    get:
      description: ""
      operationId: extras_export-templates_read
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ExportTemplate"
          description: ""
      tags:
        - extras
    parameters:
      - description: A unique integer value identifying this export template.
        in: path
        name: id
        required: true
        schema:
          type: integer
    patch:
      description: ""
      operationId: extras_export-templates_partial_update
      requestBody:
        $ref: "#/components/requestBodies/ExportTemplate"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ExportTemplate"
          description: ""
      tags:
        - extras
    put:
      description: ""
      operationId: extras_export-templates_update
      requestBody:
        $ref: "#/components/requestBodies/ExportTemplate"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ExportTemplate"
          description: ""
      tags:
        - extras
  /extras/graphs/:
    get:
      description: ""
      operationId: extras_graphs_list
      parameters:
        - description: ""
          in: query
          name: type
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: name
          required: false
          schema:
            type: string
        - description: Number of results to return per page.
          in: query
          name: limit
          required: false
          schema:
            type: integer
        - description: The initial index from which to return the results.
          in: query
          name: offset
          required: false
          schema:
            type: integer
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  count:
                    type: integer
                  next:
                    format: uri
                    nullable: true
                    type: string
                  previous:
                    format: uri
                    nullable: true
                    type: string
                  results:
                    items:
                      $ref: "#/components/schemas/Graph"
                    type: array
                required:
                  - count
                  - results
                type: object
          description: ""
      tags:
        - extras
    parameters: []
    post:
      description: ""
      operationId: extras_graphs_create
      requestBody:
        $ref: "#/components/requestBodies/WritableGraph"
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Graph"
          description: ""
      tags:
        - extras
  "/extras/graphs/{id}/":
    delete:
      description: ""
      operationId: extras_graphs_delete
      responses:
        "204":
          description: ""
      tags:
        - extras
    get:
      description: ""
      operationId: extras_graphs_read
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Graph"
          description: ""
      tags:
        - extras
    parameters:
      - description: A unique integer value identifying this graph.
        in: path
        name: id
        required: true
        schema:
          type: integer
    patch:
      description: ""
      operationId: extras_graphs_partial_update
      requestBody:
        $ref: "#/components/requestBodies/WritableGraph"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Graph"
          description: ""
      tags:
        - extras
    put:
      description: ""
      operationId: extras_graphs_update
      requestBody:
        $ref: "#/components/requestBodies/WritableGraph"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Graph"
          description: ""
      tags:
        - extras
  /extras/image-attachments/:
    get:
      description: ""
      operationId: extras_image-attachments_list
      parameters:
        - description: Number of results to return per page.
          in: query
          name: limit
          required: false
          schema:
            type: integer
        - description: The initial index from which to return the results.
          in: query
          name: offset
          required: false
          schema:
            type: integer
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  count:
                    type: integer
                  next:
                    format: uri
                    nullable: true
                    type: string
                  previous:
                    format: uri
                    nullable: true
                    type: string
                  results:
                    items:
                      $ref: "#/components/schemas/ImageAttachment"
                    type: array
                required:
                  - count
                  - results
                type: object
          description: ""
      tags:
        - extras
    parameters: []
    post:
      description: ""
      operationId: extras_image-attachments_create
      requestBody:
        $ref: "#/components/requestBodies/ImageAttachment"
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ImageAttachment"
          description: ""
      tags:
        - extras
  "/extras/image-attachments/{id}/":
    delete:
      description: ""
      operationId: extras_image-attachments_delete
      responses:
        "204":
          description: ""
      tags:
        - extras
    get:
      description: ""
      operationId: extras_image-attachments_read
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ImageAttachment"
          description: ""
      tags:
        - extras
    parameters:
      - description: A unique integer value identifying this image attachment.
        in: path
        name: id
        required: true
        schema:
          type: integer
    patch:
      description: ""
      operationId: extras_image-attachments_partial_update
      requestBody:
        $ref: "#/components/requestBodies/ImageAttachment"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ImageAttachment"
          description: ""
      tags:
        - extras
    put:
      description: ""
      operationId: extras_image-attachments_update
      requestBody:
        $ref: "#/components/requestBodies/ImageAttachment"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ImageAttachment"
          description: ""
      tags:
        - extras
  /extras/object-changes/:
    get:
      description: Retrieve a list of recent changes.
      operationId: extras_object-changes_list
      parameters:
        - description: ""
          in: query
          name: user
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: user_name
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: request_id
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: action
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: changed_object_type
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: object_repr
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: q
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: time
          required: false
          schema:
            type: string
        - description: Number of results to return per page.
          in: query
          name: limit
          required: false
          schema:
            type: integer
        - description: The initial index from which to return the results.
          in: query
          name: offset
          required: false
          schema:
            type: integer
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  count:
                    type: integer
                  next:
                    format: uri
                    nullable: true
                    type: string
                  previous:
                    format: uri
                    nullable: true
                    type: string
                  results:
                    items:
                      $ref: "#/components/schemas/ObjectChange"
                    type: array
                required:
                  - count
                  - results
                type: object
          description: ""
      tags:
        - extras
    parameters: []
  "/extras/object-changes/{id}/":
    get:
      description: Retrieve a list of recent changes.
      operationId: extras_object-changes_read
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ObjectChange"
          description: ""
      tags:
        - extras
    parameters:
      - description: A unique integer value identifying this object change.
        in: path
        name: id
        required: true
        schema:
          type: integer
  /extras/recent-activity/:
    get:
      description: ""
      operationId: extras_recent-activity_list
      parameters:
        - description: ""
          in: query
          name: user
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: username
          required: false
          schema:
            type: string
        - description: Number of results to return per page.
          in: query
          name: limit
          required: false
          schema:
            type: integer
        - description: The initial index from which to return the results.
          in: query
          name: offset
          required: false
          schema:
            type: integer
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  count:
                    type: integer
                  next:
                    format: uri
                    nullable: true
                    type: string
                  previous:
                    format: uri
                    nullable: true
                    type: string
                  results:
                    items:
                      $ref: "#/components/schemas/UserAction"
                    type: array
                required:
                  - count
                  - results
                type: object
          description: ""
      tags:
        - extras
    parameters: []
  "/extras/recent-activity/{id}/":
    get:
      description: ""
      operationId: extras_recent-activity_read
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UserAction"
          description: ""
      tags:
        - extras
    parameters:
      - description: A unique integer value identifying this user action.
        in: path
        name: id
        required: true
        schema:
          type: integer
  /extras/tags/:
    get:
      description: ""
      operationId: extras_tags_list
      parameters:
        - description: ""
          in: query
          name: name
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: slug
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: q
          required: false
          schema:
            type: string
        - description: Number of results to return per page.
          in: query
          name: limit
          required: false
          schema:
            type: integer
        - description: The initial index from which to return the results.
          in: query
          name: offset
          required: false
          schema:
            type: integer
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  count:
                    type: integer
                  next:
                    format: uri
                    nullable: true
                    type: string
                  previous:
                    format: uri
                    nullable: true
                    type: string
                  results:
                    items:
                      $ref: "#/components/schemas/Tag"
                    type: array
                required:
                  - count
                  - results
                type: object
          description: ""
      tags:
        - extras
    parameters: []
    post:
      description: ""
      operationId: extras_tags_create
      requestBody:
        $ref: "#/components/requestBodies/Tag"
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Tag"
          description: ""
      tags:
        - extras
  "/extras/tags/{id}/":
    delete:
      description: ""
      operationId: extras_tags_delete
      responses:
        "204":
          description: ""
      tags:
        - extras
    get:
      description: ""
      operationId: extras_tags_read
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Tag"
          description: ""
      tags:
        - extras
    parameters:
      - description: A unique integer value identifying this Tag.
        in: path
        name: id
        required: true
        schema:
          type: integer
    patch:
      description: ""
      operationId: extras_tags_partial_update
      requestBody:
        $ref: "#/components/requestBodies/Tag"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Tag"
          description: ""
      tags:
        - extras
    put:
      description: ""
      operationId: extras_tags_update
      requestBody:
        $ref: "#/components/requestBodies/Tag"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Tag"
          description: ""
      tags:
        - extras
  /extras/topology-maps/:
    get:
      description: ""
      operationId: extras_topology-maps_list
      parameters:
        - description: ""
          in: query
          name: name
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: slug
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: site_id
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: site
          required: false
          schema:
            type: string
        - description: Number of results to return per page.
          in: query
          name: limit
          required: false
          schema:
            type: integer
        - description: The initial index from which to return the results.
          in: query
          name: offset
          required: false
          schema:
            type: integer
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  count:
                    type: integer
                  next:
                    format: uri
                    nullable: true
                    type: string
                  previous:
                    format: uri
                    nullable: true
                    type: string
                  results:
                    items:
                      $ref: "#/components/schemas/TopologyMap"
                    type: array
                required:
                  - count
                  - results
                type: object
          description: ""
      tags:
        - extras
    parameters: []
    post:
      description: ""
      operationId: extras_topology-maps_create
      requestBody:
        $ref: "#/components/requestBodies/WritableTopologyMap"
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/TopologyMap"
          description: ""
      tags:
        - extras
  "/extras/topology-maps/{id}/":
    delete:
      description: ""
      operationId: extras_topology-maps_delete
      responses:
        "204":
          description: ""
      tags:
        - extras
    get:
      description: ""
      operationId: extras_topology-maps_read
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/TopologyMap"
          description: ""
      tags:
        - extras
    parameters:
      - description: A unique integer value identifying this topology map.
        in: path
        name: id
        required: true
        schema:
          type: integer
    patch:
      description: ""
      operationId: extras_topology-maps_partial_update
      requestBody:
        $ref: "#/components/requestBodies/WritableTopologyMap"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/TopologyMap"
          description: ""
      tags:
        - extras
    put:
      description: ""
      operationId: extras_topology-maps_update
      requestBody:
        $ref: "#/components/requestBodies/WritableTopologyMap"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/TopologyMap"
          description: ""
      tags:
        - extras
  "/extras/topology-maps/{id}/render/":
    get:
      description: ""
      operationId: extras_topology-maps_render
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/TopologyMap"
          description: ""
      tags:
        - extras
    parameters:
      - description: A unique integer value identifying this topology map.
        in: path
        name: id
        required: true
        schema:
          type: integer
  /ipam/_choices/:
    get:
      description: ""
      operationId: ipam__choices_list
      responses:
        "200":
          description: ""
      tags:
        - ipam
    parameters: []
  "/ipam/_choices/{id}/":
    get:
      description: ""
      operationId: ipam__choices_read
      responses:
        "200":
          description: ""
      tags:
        - ipam
    parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
  /ipam/aggregates/:
    get:
      description: ""
      operationId: ipam_aggregates_list
      parameters:
        - description: ""
          in: query
          name: family
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: date_added
          required: false
          schema:
            type: string
        - description: Multiple values may be separated by commas.
          in: query
          name: id__in
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: q
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: rir_id
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: rir
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: tag
          required: false
          schema:
            type: string
        - description: Number of results to return per page.
          in: query
          name: limit
          required: false
          schema:
            type: integer
        - description: The initial index from which to return the results.
          in: query
          name: offset
          required: false
          schema:
            type: integer
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  count:
                    type: integer
                  next:
                    format: uri
                    nullable: true
                    type: string
                  previous:
                    format: uri
                    nullable: true
                    type: string
                  results:
                    items:
                      $ref: "#/components/schemas/Aggregate"
                    type: array
                required:
                  - count
                  - results
                type: object
          description: ""
      tags:
        - ipam
    parameters: []
    post:
      description: ""
      operationId: ipam_aggregates_create
      requestBody:
        $ref: "#/components/requestBodies/WritableAggregate"
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Aggregate"
          description: ""
      tags:
        - ipam
  "/ipam/aggregates/{id}/":
    delete:
      description: ""
      operationId: ipam_aggregates_delete
      responses:
        "204":
          description: ""
      tags:
        - ipam
    get:
      description: ""
      operationId: ipam_aggregates_read
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Aggregate"
          description: ""
      tags:
        - ipam
    parameters:
      - description: A unique integer value identifying this aggregate.
        in: path
        name: id
        required: true
        schema:
          type: integer
    patch:
      description: ""
      operationId: ipam_aggregates_partial_update
      requestBody:
        $ref: "#/components/requestBodies/WritableAggregate"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Aggregate"
          description: ""
      tags:
        - ipam
    put:
      description: ""
      operationId: ipam_aggregates_update
      requestBody:
        $ref: "#/components/requestBodies/WritableAggregate"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Aggregate"
          description: ""
      tags:
        - ipam
  /ipam/ip-addresses/:
    get:
      description: ""
      operationId: ipam_ip-addresses_list
      parameters:
        - description: ""
          in: query
          name: family
          required: false
          schema:
            type: string
        - description: Multiple values may be separated by commas.
          in: query
          name: id__in
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: q
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: parent
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: address
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: mask_length
          required: false
          schema:
            type: number
        - description: ""
          in: query
          name: vrf_id
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: vrf
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: tenant_id
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: tenant
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: device
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: device_id
          required: false
          schema:
            type: number
        - description: ""
          in: query
          name: virtual_machine_id
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: virtual_machine
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: interface_id
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: status
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: role
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: tag
          required: false
          schema:
            type: string
        - description: Number of results to return per page.
          in: query
          name: limit
          required: false
          schema:
            type: integer
        - description: The initial index from which to return the results.
          in: query
          name: offset
          required: false
          schema:
            type: integer
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  count:
                    type: integer
                  next:
                    format: uri
                    nullable: true
                    type: string
                  previous:
                    format: uri
                    nullable: true
                    type: string
                  results:
                    items:
                      $ref: "#/components/schemas/IPAddress"
                    type: array
                required:
                  - count
                  - results
                type: object
          description: ""
      tags:
        - ipam
    parameters: []
    post:
      description: ""
      operationId: ipam_ip-addresses_create
      requestBody:
        $ref: "#/components/requestBodies/WritableIPAddress"
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/IPAddress"
          description: ""
      tags:
        - ipam
  "/ipam/ip-addresses/{id}/":
    delete:
      description: ""
      operationId: ipam_ip-addresses_delete
      responses:
        "204":
          description: ""
      tags:
        - ipam
    get:
      description: ""
      operationId: ipam_ip-addresses_read
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/IPAddress"
          description: ""
      tags:
        - ipam
    parameters:
      - description: A unique integer value identifying this IP address.
        in: path
        name: id
        required: true
        schema:
          type: integer
    patch:
      description: ""
      operationId: ipam_ip-addresses_partial_update
      requestBody:
        $ref: "#/components/requestBodies/WritableIPAddress"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/IPAddress"
          description: ""
      tags:
        - ipam
    put:
      description: ""
      operationId: ipam_ip-addresses_update
      requestBody:
        $ref: "#/components/requestBodies/WritableIPAddress"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/IPAddress"
          description: ""
      tags:
        - ipam
  /ipam/prefixes/:
    get:
      description: ""
      operationId: ipam_prefixes_list
      parameters:
        - description: ""
          in: query
          name: family
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: is_pool
          required: false
          schema:
            type: string
        - description: Multiple values may be separated by commas.
          in: query
          name: id__in
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: q
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: within
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: within_include
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: contains
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: mask_length
          required: false
          schema:
            type: number
        - description: ""
          in: query
          name: vrf_id
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: vrf
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: tenant_id
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: tenant
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: site_id
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: site
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: vlan_id
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: vlan_vid
          required: false
          schema:
            type: number
        - description: ""
          in: query
          name: role_id
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: role
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: status
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: tag
          required: false
          schema:
            type: string
        - description: Number of results to return per page.
          in: query
          name: limit
          required: false
          schema:
            type: integer
        - description: The initial index from which to return the results.
          in: query
          name: offset
          required: false
          schema:
            type: integer
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  count:
                    type: integer
                  next:
                    format: uri
                    nullable: true
                    type: string
                  previous:
                    format: uri
                    nullable: true
                    type: string
                  results:
                    items:
                      $ref: "#/components/schemas/Prefix"
                    type: array
                required:
                  - count
                  - results
                type: object
          description: ""
      tags:
        - ipam
    parameters: []
    post:
      description: ""
      operationId: ipam_prefixes_create
      requestBody:
        $ref: "#/components/requestBodies/WritablePrefix"
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Prefix"
          description: ""
      tags:
        - ipam
  "/ipam/prefixes/{id}/":
    delete:
      description: ""
      operationId: ipam_prefixes_delete
      responses:
        "204":
          description: ""
      tags:
        - ipam
    get:
      description: ""
      operationId: ipam_prefixes_read
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Prefix"
          description: ""
      tags:
        - ipam
    parameters:
      - description: A unique integer value identifying this prefix.
        in: path
        name: id
        required: true
        schema:
          type: integer
    patch:
      description: ""
      operationId: ipam_prefixes_partial_update
      requestBody:
        $ref: "#/components/requestBodies/WritablePrefix"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Prefix"
          description: ""
      tags:
        - ipam
    put:
      description: ""
      operationId: ipam_prefixes_update
      requestBody:
        $ref: "#/components/requestBodies/WritablePrefix"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Prefix"
          description: ""
      tags:
        - ipam
  "/ipam/prefixes/{id}/available-ips/":
    get:
      description: |-
        A convenience method for returning available IP addresses within a prefix. By default, the number of IPs
        returned will be equivalent to PAGINATE_COUNT. An arbitrary limit (up to MAX_PAGE_SIZE, if set) may be passed,
        however results will not be paginated.
      operationId: ipam_prefixes_available-ips_read
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Prefix"
          description: ""
      tags:
        - ipam
    parameters:
      - description: A unique integer value identifying this prefix.
        in: path
        name: id
        required: true
        schema:
          type: integer
    post:
      description: |-
        A convenience method for returning available IP addresses within a prefix. By default, the number of IPs
        returned will be equivalent to PAGINATE_COUNT. An arbitrary limit (up to MAX_PAGE_SIZE, if set) may be passed,
        however results will not be paginated.
      operationId: ipam_prefixes_available-ips_create
      requestBody:
        $ref: "#/components/requestBodies/WritablePrefix"
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Prefix"
          description: ""
      tags:
        - ipam
  "/ipam/prefixes/{id}/available-prefixes/":
    get:
      description: A convenience method for returning available child prefixes within a parent.
      operationId: ipam_prefixes_available-prefixes_read
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Prefix"
          description: ""
      tags:
        - ipam
    parameters:
      - description: A unique integer value identifying this prefix.
        in: path
        name: id
        required: true
        schema:
          type: integer
    post:
      description: A convenience method for returning available child prefixes within a parent.
      operationId: ipam_prefixes_available-prefixes_create
      requestBody:
        $ref: "#/components/requestBodies/WritablePrefix"
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Prefix"
          description: ""
      tags:
        - ipam
  /ipam/rirs/:
    get:
      description: ""
      operationId: ipam_rirs_list
      parameters:
        - description: ""
          in: query
          name: name
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: slug
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: is_private
          required: false
          schema:
            type: string
        - description: Multiple values may be separated by commas.
          in: query
          name: id__in
          required: false
          schema:
            type: string
        - description: Number of results to return per page.
          in: query
          name: limit
          required: false
          schema:
            type: integer
        - description: The initial index from which to return the results.
          in: query
          name: offset
          required: false
          schema:
            type: integer
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  count:
                    type: integer
                  next:
                    format: uri
                    nullable: true
                    type: string
                  previous:
                    format: uri
                    nullable: true
                    type: string
                  results:
                    items:
                      $ref: "#/components/schemas/RIR"
                    type: array
                required:
                  - count
                  - results
                type: object
          description: ""
      tags:
        - ipam
    parameters: []
    post:
      description: ""
      operationId: ipam_rirs_create
      requestBody:
        $ref: "#/components/requestBodies/RIR"
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RIR"
          description: ""
      tags:
        - ipam
  "/ipam/rirs/{id}/":
    delete:
      description: ""
      operationId: ipam_rirs_delete
      responses:
        "204":
          description: ""
      tags:
        - ipam
    get:
      description: ""
      operationId: ipam_rirs_read
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RIR"
          description: ""
      tags:
        - ipam
    parameters:
      - description: A unique integer value identifying this RIR.
        in: path
        name: id
        required: true
        schema:
          type: integer
    patch:
      description: ""
      operationId: ipam_rirs_partial_update
      requestBody:
        $ref: "#/components/requestBodies/RIR"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RIR"
          description: ""
      tags:
        - ipam
    put:
      description: ""
      operationId: ipam_rirs_update
      requestBody:
        $ref: "#/components/requestBodies/RIR"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RIR"
          description: ""
      tags:
        - ipam
  /ipam/roles/:
    get:
      description: ""
      operationId: ipam_roles_list
      parameters:
        - description: ""
          in: query
          name: name
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: slug
          required: false
          schema:
            type: string
        - description: Number of results to return per page.
          in: query
          name: limit
          required: false
          schema:
            type: integer
        - description: The initial index from which to return the results.
          in: query
          name: offset
          required: false
          schema:
            type: integer
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  count:
                    type: integer
                  next:
                    format: uri
                    nullable: true
                    type: string
                  previous:
                    format: uri
                    nullable: true
                    type: string
                  results:
                    items:
                      $ref: "#/components/schemas/Role"
                    type: array
                required:
                  - count
                  - results
                type: object
          description: ""
      tags:
        - ipam
    parameters: []
    post:
      description: ""
      operationId: ipam_roles_create
      requestBody:
        $ref: "#/components/requestBodies/Role"
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Role"
          description: ""
      tags:
        - ipam
  "/ipam/roles/{id}/":
    delete:
      description: ""
      operationId: ipam_roles_delete
      responses:
        "204":
          description: ""
      tags:
        - ipam
    get:
      description: ""
      operationId: ipam_roles_read
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Role"
          description: ""
      tags:
        - ipam
    parameters:
      - description: A unique integer value identifying this role.
        in: path
        name: id
        required: true
        schema:
          type: integer
    patch:
      description: ""
      operationId: ipam_roles_partial_update
      requestBody:
        $ref: "#/components/requestBodies/Role"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Role"
          description: ""
      tags:
        - ipam
    put:
      description: ""
      operationId: ipam_roles_update
      requestBody:
        $ref: "#/components/requestBodies/Role"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Role"
          description: ""
      tags:
        - ipam
  /ipam/services/:
    get:
      description: ""
      operationId: ipam_services_list
      parameters:
        - description: ""
          in: query
          name: name
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: protocol
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: port
          required: false
          schema:
            type: number
        - description: ""
          in: query
          name: q
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: device_id
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: device
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: virtual_machine_id
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: virtual_machine
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: tag
          required: false
          schema:
            type: string
        - description: Number of results to return per page.
          in: query
          name: limit
          required: false
          schema:
            type: integer
        - description: The initial index from which to return the results.
          in: query
          name: offset
          required: false
          schema:
            type: integer
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  count:
                    type: integer
                  next:
                    format: uri
                    nullable: true
                    type: string
                  previous:
                    format: uri
                    nullable: true
                    type: string
                  results:
                    items:
                      $ref: "#/components/schemas/Service"
                    type: array
                required:
                  - count
                  - results
                type: object
          description: ""
      tags:
        - ipam
    parameters: []
    post:
      description: ""
      operationId: ipam_services_create
      requestBody:
        $ref: "#/components/requestBodies/WritableService"
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Service"
          description: ""
      tags:
        - ipam
  "/ipam/services/{id}/":
    delete:
      description: ""
      operationId: ipam_services_delete
      responses:
        "204":
          description: ""
      tags:
        - ipam
    get:
      description: ""
      operationId: ipam_services_read
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Service"
          description: ""
      tags:
        - ipam
    parameters:
      - description: A unique integer value identifying this service.
        in: path
        name: id
        required: true
        schema:
          type: integer
    patch:
      description: ""
      operationId: ipam_services_partial_update
      requestBody:
        $ref: "#/components/requestBodies/WritableService"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Service"
          description: ""
      tags:
        - ipam
    put:
      description: ""
      operationId: ipam_services_update
      requestBody:
        $ref: "#/components/requestBodies/WritableService"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Service"
          description: ""
      tags:
        - ipam
  /ipam/vlan-groups/:
    get:
      description: ""
      operationId: ipam_vlan-groups_list
      parameters:
        - description: ""
          in: query
          name: name
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: slug
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: site_id
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: site
          required: false
          schema:
            type: string
        - description: Number of results to return per page.
          in: query
          name: limit
          required: false
          schema:
            type: integer
        - description: The initial index from which to return the results.
          in: query
          name: offset
          required: false
          schema:
            type: integer
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  count:
                    type: integer
                  next:
                    format: uri
                    nullable: true
                    type: string
                  previous:
                    format: uri
                    nullable: true
                    type: string
                  results:
                    items:
                      $ref: "#/components/schemas/VLANGroup"
                    type: array
                required:
                  - count
                  - results
                type: object
          description: ""
      tags:
        - ipam
    parameters: []
    post:
      description: ""
      operationId: ipam_vlan-groups_create
      requestBody:
        $ref: "#/components/requestBodies/WritableVLANGroup"
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/VLANGroup"
          description: ""
      tags:
        - ipam
  "/ipam/vlan-groups/{id}/":
    delete:
      description: ""
      operationId: ipam_vlan-groups_delete
      responses:
        "204":
          description: ""
      tags:
        - ipam
    get:
      description: ""
      operationId: ipam_vlan-groups_read
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/VLANGroup"
          description: ""
      tags:
        - ipam
    parameters:
      - description: A unique integer value identifying this VLAN group.
        in: path
        name: id
        required: true
        schema:
          type: integer
    patch:
      description: ""
      operationId: ipam_vlan-groups_partial_update
      requestBody:
        $ref: "#/components/requestBodies/WritableVLANGroup"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/VLANGroup"
          description: ""
      tags:
        - ipam
    put:
      description: ""
      operationId: ipam_vlan-groups_update
      requestBody:
        $ref: "#/components/requestBodies/WritableVLANGroup"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/VLANGroup"
          description: ""
      tags:
        - ipam
  /ipam/vlans/:
    get:
      description: ""
      operationId: ipam_vlans_list
      parameters:
        - description: ""
          in: query
          name: vid
          required: false
          schema:
            type: number
        - description: ""
          in: query
          name: name
          required: false
          schema:
            type: string
        - description: Multiple values may be separated by commas.
          in: query
          name: id__in
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: q
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: site_id
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: site
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: group_id
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: group
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: tenant_id
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: tenant
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: role_id
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: role
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: status
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: tag
          required: false
          schema:
            type: string
        - description: Number of results to return per page.
          in: query
          name: limit
          required: false
          schema:
            type: integer
        - description: The initial index from which to return the results.
          in: query
          name: offset
          required: false
          schema:
            type: integer
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  count:
                    type: integer
                  next:
                    format: uri
                    nullable: true
                    type: string
                  previous:
                    format: uri
                    nullable: true
                    type: string
                  results:
                    items:
                      $ref: "#/components/schemas/VLAN"
                    type: array
                required:
                  - count
                  - results
                type: object
          description: ""
      tags:
        - ipam
    parameters: []
    post:
      description: ""
      operationId: ipam_vlans_create
      requestBody:
        $ref: "#/components/requestBodies/WritableVLAN"
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/VLAN"
          description: ""
      tags:
        - ipam
  "/ipam/vlans/{id}/":
    delete:
      description: ""
      operationId: ipam_vlans_delete
      responses:
        "204":
          description: ""
      tags:
        - ipam
    get:
      description: ""
      operationId: ipam_vlans_read
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/VLAN"
          description: ""
      tags:
        - ipam
    parameters:
      - description: A unique integer value identifying this VLAN.
        in: path
        name: id
        required: true
        schema:
          type: integer
    patch:
      description: ""
      operationId: ipam_vlans_partial_update
      requestBody:
        $ref: "#/components/requestBodies/WritableVLAN"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/VLAN"
          description: ""
      tags:
        - ipam
    put:
      description: ""
      operationId: ipam_vlans_update
      requestBody:
        $ref: "#/components/requestBodies/WritableVLAN"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/VLAN"
          description: ""
      tags:
        - ipam
  /ipam/vrfs/:
    get:
      description: ""
      operationId: ipam_vrfs_list
      parameters:
        - description: ""
          in: query
          name: name
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: rd
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: enforce_unique
          required: false
          schema:
            type: string
        - description: Multiple values may be separated by commas.
          in: query
          name: id__in
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: q
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: tenant_id
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: tenant
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: tag
          required: false
          schema:
            type: string
        - description: Number of results to return per page.
          in: query
          name: limit
          required: false
          schema:
            type: integer
        - description: The initial index from which to return the results.
          in: query
          name: offset
          required: false
          schema:
            type: integer
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  count:
                    type: integer
                  next:
                    format: uri
                    nullable: true
                    type: string
                  previous:
                    format: uri
                    nullable: true
                    type: string
                  results:
                    items:
                      $ref: "#/components/schemas/VRF"
                    type: array
                required:
                  - count
                  - results
                type: object
          description: ""
      tags:
        - ipam
    parameters: []
    post:
      description: ""
      operationId: ipam_vrfs_create
      requestBody:
        $ref: "#/components/requestBodies/WritableVRF"
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/VRF"
          description: ""
      tags:
        - ipam
  "/ipam/vrfs/{id}/":
    delete:
      description: ""
      operationId: ipam_vrfs_delete
      responses:
        "204":
          description: ""
      tags:
        - ipam
    get:
      description: ""
      operationId: ipam_vrfs_read
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/VRF"
          description: ""
      tags:
        - ipam
    parameters:
      - description: A unique integer value identifying this VRF.
        in: path
        name: id
        required: true
        schema:
          type: integer
    patch:
      description: ""
      operationId: ipam_vrfs_partial_update
      requestBody:
        $ref: "#/components/requestBodies/WritableVRF"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/VRF"
          description: ""
      tags:
        - ipam
    put:
      description: ""
      operationId: ipam_vrfs_update
      requestBody:
        $ref: "#/components/requestBodies/WritableVRF"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/VRF"
          description: ""
      tags:
        - ipam
  /secrets/_choices/:
    get:
      description: ""
      operationId: secrets__choices_list
      responses:
        "200":
          description: ""
      tags:
        - secrets
    parameters: []
  "/secrets/_choices/{id}/":
    get:
      description: ""
      operationId: secrets__choices_read
      responses:
        "200":
          description: ""
      tags:
        - secrets
    parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
  /secrets/generate-rsa-key-pair/:
    get:
      description: |-
        This endpoint can be used to generate a new RSA key pair. The keys are returned in PEM format.

            {
                "public_key": "<public key>",
                "private_key": "<private key>"
            }
      operationId: secrets_generate-rsa-key-pair_list
      responses:
        "200":
          description: ""
      tags:
        - secrets
    parameters: []
  /secrets/get-session-key/:
    parameters: []
    post:
      description: |-
        Retrieve a temporary session key to use for encrypting and decrypting secrets via the API. The user's private RSA
        key is POSTed with the name `private_key`. An example:

            curl -v -X POST -H "Authorization: Token <token>" -H "Accept: application/json; indent=4" \
            --data-urlencode "private_key@<filename>" https://netbox/api/secrets/get-session-key/

        This request will yield a base64-encoded session key to be included in an `X-Session-Key` header in future requests:

            {
                "session_key": "+8t4SI6XikgVmB5+/urhozx9O5qCQANyOk1MNe6taRf="
            }

        This endpoint accepts one optional parameter: `preserve_key`. If True and a session key exists, the existing session
        key will be returned instead of a new one.
      operationId: secrets_get-session-key_create
      responses:
        "201":
          description: ""
      tags:
        - secrets
  /secrets/secret-roles/:
    get:
      description: ""
      operationId: secrets_secret-roles_list
      parameters:
        - description: ""
          in: query
          name: name
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: slug
          required: false
          schema:
            type: string
        - description: Number of results to return per page.
          in: query
          name: limit
          required: false
          schema:
            type: integer
        - description: The initial index from which to return the results.
          in: query
          name: offset
          required: false
          schema:
            type: integer
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  count:
                    type: integer
                  next:
                    format: uri
                    nullable: true
                    type: string
                  previous:
                    format: uri
                    nullable: true
                    type: string
                  results:
                    items:
                      $ref: "#/components/schemas/SecretRole"
                    type: array
                required:
                  - count
                  - results
                type: object
          description: ""
      tags:
        - secrets
    parameters: []
    post:
      description: ""
      operationId: secrets_secret-roles_create
      requestBody:
        $ref: "#/components/requestBodies/SecretRole"
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/SecretRole"
          description: ""
      tags:
        - secrets
  "/secrets/secret-roles/{id}/":
    delete:
      description: ""
      operationId: secrets_secret-roles_delete
      responses:
        "204":
          description: ""
      tags:
        - secrets
    get:
      description: ""
      operationId: secrets_secret-roles_read
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/SecretRole"
          description: ""
      tags:
        - secrets
    parameters:
      - description: A unique integer value identifying this secret role.
        in: path
        name: id
        required: true
        schema:
          type: integer
    patch:
      description: ""
      operationId: secrets_secret-roles_partial_update
      requestBody:
        $ref: "#/components/requestBodies/SecretRole"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/SecretRole"
          description: ""
      tags:
        - secrets
    put:
      description: ""
      operationId: secrets_secret-roles_update
      requestBody:
        $ref: "#/components/requestBodies/SecretRole"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/SecretRole"
          description: ""
      tags:
        - secrets
  /secrets/secrets/:
    get:
      description: ""
      operationId: secrets_secrets_list
      parameters:
        - description: ""
          in: query
          name: name
          required: false
          schema:
            type: string
        - description: Multiple values may be separated by commas.
          in: query
          name: id__in
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: q
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: role_id
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: role
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: device_id
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: device
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: tag
          required: false
          schema:
            type: string
        - description: Number of results to return per page.
          in: query
          name: limit
          required: false
          schema:
            type: integer
        - description: The initial index from which to return the results.
          in: query
          name: offset
          required: false
          schema:
            type: integer
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  count:
                    type: integer
                  next:
                    format: uri
                    nullable: true
                    type: string
                  previous:
                    format: uri
                    nullable: true
                    type: string
                  results:
                    items:
                      $ref: "#/components/schemas/Secret"
                    type: array
                required:
                  - count
                  - results
                type: object
          description: ""
      tags:
        - secrets
    parameters: []
    post:
      description: ""
      operationId: secrets_secrets_create
      requestBody:
        $ref: "#/components/requestBodies/WritableSecret"
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Secret"
          description: ""
      tags:
        - secrets
  "/secrets/secrets/{id}/":
    delete:
      description: ""
      operationId: secrets_secrets_delete
      responses:
        "204":
          description: ""
      tags:
        - secrets
    get:
      description: ""
      operationId: secrets_secrets_read
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Secret"
          description: ""
      tags:
        - secrets
    parameters:
      - description: A unique integer value identifying this secret.
        in: path
        name: id
        required: true
        schema:
          type: integer
    patch:
      description: ""
      operationId: secrets_secrets_partial_update
      requestBody:
        $ref: "#/components/requestBodies/WritableSecret"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Secret"
          description: ""
      tags:
        - secrets
    put:
      description: ""
      operationId: secrets_secrets_update
      requestBody:
        $ref: "#/components/requestBodies/WritableSecret"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Secret"
          description: ""
      tags:
        - secrets
  /tenancy/_choices/:
    get:
      description: ""
      operationId: tenancy__choices_list
      responses:
        "200":
          description: ""
      tags:
        - tenancy
    parameters: []
  "/tenancy/_choices/{id}/":
    get:
      description: ""
      operationId: tenancy__choices_read
      responses:
        "200":
          description: ""
      tags:
        - tenancy
    parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
  /tenancy/tenant-groups/:
    get:
      description: ""
      operationId: tenancy_tenant-groups_list
      parameters:
        - description: ""
          in: query
          name: name
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: slug
          required: false
          schema:
            type: string
        - description: Number of results to return per page.
          in: query
          name: limit
          required: false
          schema:
            type: integer
        - description: The initial index from which to return the results.
          in: query
          name: offset
          required: false
          schema:
            type: integer
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  count:
                    type: integer
                  next:
                    format: uri
                    nullable: true
                    type: string
                  previous:
                    format: uri
                    nullable: true
                    type: string
                  results:
                    items:
                      $ref: "#/components/schemas/TenantGroup"
                    type: array
                required:
                  - count
                  - results
                type: object
          description: ""
      tags:
        - tenancy
    parameters: []
    post:
      description: ""
      operationId: tenancy_tenant-groups_create
      requestBody:
        $ref: "#/components/requestBodies/TenantGroup"
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/TenantGroup"
          description: ""
      tags:
        - tenancy
  "/tenancy/tenant-groups/{id}/":
    delete:
      description: ""
      operationId: tenancy_tenant-groups_delete
      responses:
        "204":
          description: ""
      tags:
        - tenancy
    get:
      description: ""
      operationId: tenancy_tenant-groups_read
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/TenantGroup"
          description: ""
      tags:
        - tenancy
    parameters:
      - description: A unique integer value identifying this tenant group.
        in: path
        name: id
        required: true
        schema:
          type: integer
    patch:
      description: ""
      operationId: tenancy_tenant-groups_partial_update
      requestBody:
        $ref: "#/components/requestBodies/TenantGroup"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/TenantGroup"
          description: ""
      tags:
        - tenancy
    put:
      description: ""
      operationId: tenancy_tenant-groups_update
      requestBody:
        $ref: "#/components/requestBodies/TenantGroup"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/TenantGroup"
          description: ""
      tags:
        - tenancy
  /tenancy/tenants/:
    get:
      description: ""
      operationId: tenancy_tenants_list
      parameters:
        - description: ""
          in: query
          name: name
          required: false
          schema:
            type: string
        - description: Multiple values may be separated by commas.
          in: query
          name: id__in
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: q
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: group_id
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: group
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: tag
          required: false
          schema:
            type: string
        - description: Number of results to return per page.
          in: query
          name: limit
          required: false
          schema:
            type: integer
        - description: The initial index from which to return the results.
          in: query
          name: offset
          required: false
          schema:
            type: integer
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  count:
                    type: integer
                  next:
                    format: uri
                    nullable: true
                    type: string
                  previous:
                    format: uri
                    nullable: true
                    type: string
                  results:
                    items:
                      $ref: "#/components/schemas/Tenant"
                    type: array
                required:
                  - count
                  - results
                type: object
          description: ""
      tags:
        - tenancy
    parameters: []
    post:
      description: ""
      operationId: tenancy_tenants_create
      requestBody:
        $ref: "#/components/requestBodies/WritableTenant"
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Tenant"
          description: ""
      tags:
        - tenancy
  "/tenancy/tenants/{id}/":
    delete:
      description: ""
      operationId: tenancy_tenants_delete
      responses:
        "204":
          description: ""
      tags:
        - tenancy
    get:
      description: ""
      operationId: tenancy_tenants_read
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Tenant"
          description: ""
      tags:
        - tenancy
    parameters:
      - description: A unique integer value identifying this tenant.
        in: path
        name: id
        required: true
        schema:
          type: integer
    patch:
      description: ""
      operationId: tenancy_tenants_partial_update
      requestBody:
        $ref: "#/components/requestBodies/WritableTenant"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Tenant"
          description: ""
      tags:
        - tenancy
    put:
      description: ""
      operationId: tenancy_tenants_update
      requestBody:
        $ref: "#/components/requestBodies/WritableTenant"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Tenant"
          description: ""
      tags:
        - tenancy
  /virtualization/_choices/:
    get:
      description: ""
      operationId: virtualization__choices_list
      responses:
        "200":
          description: ""
      tags:
        - virtualization
    parameters: []
  "/virtualization/_choices/{id}/":
    get:
      description: ""
      operationId: virtualization__choices_read
      responses:
        "200":
          description: ""
      tags:
        - virtualization
    parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
  /virtualization/cluster-groups/:
    get:
      description: ""
      operationId: virtualization_cluster-groups_list
      parameters:
        - description: ""
          in: query
          name: name
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: slug
          required: false
          schema:
            type: string
        - description: Number of results to return per page.
          in: query
          name: limit
          required: false
          schema:
            type: integer
        - description: The initial index from which to return the results.
          in: query
          name: offset
          required: false
          schema:
            type: integer
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  count:
                    type: integer
                  next:
                    format: uri
                    nullable: true
                    type: string
                  previous:
                    format: uri
                    nullable: true
                    type: string
                  results:
                    items:
                      $ref: "#/components/schemas/ClusterGroup"
                    type: array
                required:
                  - count
                  - results
                type: object
          description: ""
      tags:
        - virtualization
    parameters: []
    post:
      description: ""
      operationId: virtualization_cluster-groups_create
      requestBody:
        $ref: "#/components/requestBodies/ClusterGroup"
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClusterGroup"
          description: ""
      tags:
        - virtualization
  "/virtualization/cluster-groups/{id}/":
    delete:
      description: ""
      operationId: virtualization_cluster-groups_delete
      responses:
        "204":
          description: ""
      tags:
        - virtualization
    get:
      description: ""
      operationId: virtualization_cluster-groups_read
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClusterGroup"
          description: ""
      tags:
        - virtualization
    parameters:
      - description: A unique integer value identifying this cluster group.
        in: path
        name: id
        required: true
        schema:
          type: integer
    patch:
      description: ""
      operationId: virtualization_cluster-groups_partial_update
      requestBody:
        $ref: "#/components/requestBodies/ClusterGroup"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClusterGroup"
          description: ""
      tags:
        - virtualization
    put:
      description: ""
      operationId: virtualization_cluster-groups_update
      requestBody:
        $ref: "#/components/requestBodies/ClusterGroup"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClusterGroup"
          description: ""
      tags:
        - virtualization
  /virtualization/cluster-types/:
    get:
      description: ""
      operationId: virtualization_cluster-types_list
      parameters:
        - description: ""
          in: query
          name: name
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: slug
          required: false
          schema:
            type: string
        - description: Number of results to return per page.
          in: query
          name: limit
          required: false
          schema:
            type: integer
        - description: The initial index from which to return the results.
          in: query
          name: offset
          required: false
          schema:
            type: integer
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  count:
                    type: integer
                  next:
                    format: uri
                    nullable: true
                    type: string
                  previous:
                    format: uri
                    nullable: true
                    type: string
                  results:
                    items:
                      $ref: "#/components/schemas/ClusterType"
                    type: array
                required:
                  - count
                  - results
                type: object
          description: ""
      tags:
        - virtualization
    parameters: []
    post:
      description: ""
      operationId: virtualization_cluster-types_create
      requestBody:
        $ref: "#/components/requestBodies/ClusterType"
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClusterType"
          description: ""
      tags:
        - virtualization
  "/virtualization/cluster-types/{id}/":
    delete:
      description: ""
      operationId: virtualization_cluster-types_delete
      responses:
        "204":
          description: ""
      tags:
        - virtualization
    get:
      description: ""
      operationId: virtualization_cluster-types_read
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClusterType"
          description: ""
      tags:
        - virtualization
    parameters:
      - description: A unique integer value identifying this cluster type.
        in: path
        name: id
        required: true
        schema:
          type: integer
    patch:
      description: ""
      operationId: virtualization_cluster-types_partial_update
      requestBody:
        $ref: "#/components/requestBodies/ClusterType"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClusterType"
          description: ""
      tags:
        - virtualization
    put:
      description: ""
      operationId: virtualization_cluster-types_update
      requestBody:
        $ref: "#/components/requestBodies/ClusterType"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClusterType"
          description: ""
      tags:
        - virtualization
  /virtualization/clusters/:
    get:
      description: ""
      operationId: virtualization_clusters_list
      parameters:
        - description: ""
          in: query
          name: name
          required: false
          schema:
            type: string
        - description: Multiple values may be separated by commas.
          in: query
          name: id__in
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: q
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: group_id
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: group
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: type_id
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: type
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: site_id
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: site
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: tag
          required: false
          schema:
            type: string
        - description: Number of results to return per page.
          in: query
          name: limit
          required: false
          schema:
            type: integer
        - description: The initial index from which to return the results.
          in: query
          name: offset
          required: false
          schema:
            type: integer
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  count:
                    type: integer
                  next:
                    format: uri
                    nullable: true
                    type: string
                  previous:
                    format: uri
                    nullable: true
                    type: string
                  results:
                    items:
                      $ref: "#/components/schemas/Cluster"
                    type: array
                required:
                  - count
                  - results
                type: object
          description: ""
      tags:
        - virtualization
    parameters: []
    post:
      description: ""
      operationId: virtualization_clusters_create
      requestBody:
        $ref: "#/components/requestBodies/WritableCluster"
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Cluster"
          description: ""
      tags:
        - virtualization
  "/virtualization/clusters/{id}/":
    delete:
      description: ""
      operationId: virtualization_clusters_delete
      responses:
        "204":
          description: ""
      tags:
        - virtualization
    get:
      description: ""
      operationId: virtualization_clusters_read
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Cluster"
          description: ""
      tags:
        - virtualization
    parameters:
      - description: A unique integer value identifying this cluster.
        in: path
        name: id
        required: true
        schema:
          type: integer
    patch:
      description: ""
      operationId: virtualization_clusters_partial_update
      requestBody:
        $ref: "#/components/requestBodies/WritableCluster"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Cluster"
          description: ""
      tags:
        - virtualization
    put:
      description: ""
      operationId: virtualization_clusters_update
      requestBody:
        $ref: "#/components/requestBodies/WritableCluster"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Cluster"
          description: ""
      tags:
        - virtualization
  /virtualization/interfaces/:
    get:
      description: ""
      operationId: virtualization_interfaces_list
      parameters:
        - description: ""
          in: query
          name: name
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: enabled
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: mtu
          required: false
          schema:
            type: number
        - description: ""
          in: query
          name: virtual_machine_id
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: virtual_machine
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: mac_address
          required: false
          schema:
            type: string
        - description: Number of results to return per page.
          in: query
          name: limit
          required: false
          schema:
            type: integer
        - description: The initial index from which to return the results.
          in: query
          name: offset
          required: false
          schema:
            type: integer
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  count:
                    type: integer
                  next:
                    format: uri
                    nullable: true
                    type: string
                  previous:
                    format: uri
                    nullable: true
                    type: string
                  results:
                    items:
                      $ref: "#/components/schemas/Interface"
                    type: array
                required:
                  - count
                  - results
                type: object
          description: ""
      tags:
        - virtualization
    parameters: []
    post:
      description: ""
      operationId: virtualization_interfaces_create
      requestBody:
        $ref: "#/components/requestBodies/WritableInterface"
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Interface"
          description: ""
      tags:
        - virtualization
  "/virtualization/interfaces/{id}/":
    delete:
      description: ""
      operationId: virtualization_interfaces_delete
      responses:
        "204":
          description: ""
      tags:
        - virtualization
    get:
      description: ""
      operationId: virtualization_interfaces_read
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Interface"
          description: ""
      tags:
        - virtualization
    parameters:
      - description: A unique integer value identifying this interface.
        in: path
        name: id
        required: true
        schema:
          type: integer
    patch:
      description: ""
      operationId: virtualization_interfaces_partial_update
      requestBody:
        $ref: "#/components/requestBodies/WritableInterface"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Interface"
          description: ""
      tags:
        - virtualization
    put:
      description: ""
      operationId: virtualization_interfaces_update
      requestBody:
        $ref: "#/components/requestBodies/WritableInterface"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Interface"
          description: ""
      tags:
        - virtualization
  /virtualization/virtual-machines/:
    get:
      description: ""
      operationId: virtualization_virtual-machines_list
      parameters:
        - description: ""
          in: query
          name: name
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: cluster
          required: false
          schema:
            type: string
        - description: Multiple values may be separated by commas.
          in: query
          name: id__in
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: q
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: status
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: cluster_group_id
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: cluster_group
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: cluster_type_id
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: cluster_type
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: cluster_id
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: region_id
          required: false
          schema:
            type: number
        - description: ""
          in: query
          name: region
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: site_id
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: site
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: role_id
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: role
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: tenant_id
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: tenant
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: platform_id
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: platform
          required: false
          schema:
            type: string
        - description: ""
          in: query
          name: tag
          required: false
          schema:
            type: string
        - description: Number of results to return per page.
          in: query
          name: limit
          required: false
          schema:
            type: integer
        - description: The initial index from which to return the results.
          in: query
          name: offset
          required: false
          schema:
            type: integer
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  count:
                    type: integer
                  next:
                    format: uri
                    nullable: true
                    type: string
                  previous:
                    format: uri
                    nullable: true
                    type: string
                  results:
                    items:
                      $ref: "#/components/schemas/VirtualMachine"
                    type: array
                required:
                  - count
                  - results
                type: object
          description: ""
      tags:
        - virtualization
    parameters: []
    post:
      description: ""
      operationId: virtualization_virtual-machines_create
      requestBody:
        $ref: "#/components/requestBodies/WritableVirtualMachine"
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/VirtualMachine"
          description: ""
      tags:
        - virtualization
  "/virtualization/virtual-machines/{id}/":
    delete:
      description: ""
      operationId: virtualization_virtual-machines_delete
      responses:
        "204":
          description: ""
      tags:
        - virtualization
    get:
      description: ""
      operationId: virtualization_virtual-machines_read
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/VirtualMachineWithConfigContext"
          description: ""
      tags:
        - virtualization
    parameters:
      - description: A unique integer value identifying this virtual machine.
        in: path
        name: id
        required: true
        schema:
          type: integer
    patch:
      description: ""
      operationId: virtualization_virtual-machines_partial_update
      requestBody:
        $ref: "#/components/requestBodies/WritableVirtualMachine"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/VirtualMachine"
          description: ""
      tags:
        - virtualization
    put:
      description: ""
      operationId: virtualization_virtual-machines_update
      requestBody:
        $ref: "#/components/requestBodies/WritableVirtualMachine"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/VirtualMachine"
          description: ""
      tags:
        - virtualization
components:
  requestBodies:
    CircuitType:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/CircuitType"
      required: true
    ClusterGroup:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/ClusterGroup"
      required: true
    ClusterType:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/ClusterType"
      required: true
    DeviceRole:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/DeviceRole"
      required: true
    ExportTemplate:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/ExportTemplate"
      required: true
    ImageAttachment:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/ImageAttachment"
      required: true
    Manufacturer:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/Manufacturer"
      required: true
    Provider:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/Provider"
      required: true
    RIR:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/RIR"
      required: true
    RackRole:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/RackRole"
      required: true
    Role:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/Role"
      required: true
    SecretRole:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/SecretRole"
      required: true
    Tag:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/Tag"
      required: true
    TenantGroup:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/TenantGroup"
      required: true
    WritableAggregate:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/WritableAggregate"
      required: true
    WritableCircuit:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/WritableCircuit"
      required: true
    WritableCircuitTermination:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/WritableCircuitTermination"
      required: true
    WritableCluster:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/WritableCluster"
      required: true
    WritableConfigContext:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/WritableConfigContext"
      required: true
    WritableConsolePort:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/WritableConsolePort"
      required: true
    WritableConsolePortTemplate:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/WritableConsolePortTemplate"
      required: true
    WritableConsoleServerPort:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/WritableConsoleServerPort"
      required: true
    WritableConsoleServerPortTemplate:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/WritableConsoleServerPortTemplate"
      required: true
    WritableDevice:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/WritableDevice"
      required: true
    WritableDeviceBay:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/WritableDeviceBay"
      required: true
    WritableDeviceBayTemplate:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/WritableDeviceBayTemplate"
      required: true
    WritableDeviceType:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/WritableDeviceType"
      required: true
    WritableGraph:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/WritableGraph"
      required: true
    WritableIPAddress:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/WritableIPAddress"
      required: true
    WritableInterface:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/WritableInterface"
      required: true
    WritableInterfaceConnection:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/WritableInterfaceConnection"
      required: true
    WritableInterfaceTemplate:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/WritableInterfaceTemplate"
      required: true
    WritableInventoryItem:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/WritableInventoryItem"
      required: true
    WritablePlatform:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/WritablePlatform"
      required: true
    WritablePowerOutlet:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/WritablePowerOutlet"
      required: true
    WritablePowerOutletTemplate:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/WritablePowerOutletTemplate"
      required: true
    WritablePowerPort:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/WritablePowerPort"
      required: true
    WritablePowerPortTemplate:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/WritablePowerPortTemplate"
      required: true
    WritablePrefix:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/WritablePrefix"
      required: true
    WritableRack:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/WritableRack"
      required: true
    WritableRackGroup:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/WritableRackGroup"
      required: true
    WritableRackReservation:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/WritableRackReservation"
      required: true
    WritableRegion:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/WritableRegion"
      required: true
    WritableSecret:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/WritableSecret"
      required: true
    WritableService:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/WritableService"
      required: true
    WritableSite:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/WritableSite"
      required: true
    WritableTenant:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/WritableTenant"
      required: true
    WritableTopologyMap:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/WritableTopologyMap"
      required: true
    WritableVLAN:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/WritableVLAN"
      required: true
    WritableVLANGroup:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/WritableVLANGroup"
      required: true
    WritableVRF:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/WritableVRF"
      required: true
    WritableVirtualChassis:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/WritableVirtualChassis"
      required: true
    WritableVirtualMachine:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/WritableVirtualMachine"
      required: true
  schemas:
    Aggregate:
      properties:
        created:
          format: date
          readOnly: true
          title: Created
          type: string
        custom_fields:
          title: Custom fields
          type: object
        date_added:
          format: date
          title: Date added
          type: string
        description:
          maxLength: 100
          title: Description
          type: string
        family:
          enum:
            - 4
            - 6
          readOnly: true
          title: Family
          type: integer
        id:
          readOnly: true
          title: ID
          type: integer
        last_updated:
          format: date-time
          readOnly: true
          title: Last updated
          type: string
        prefix:
          title: Prefix
          type: string
        rir:
          $ref: "#/components/schemas/NestedRIR"
        tags:
          items:
            minLength: 1
            type: string
          type: array
      required:
        - prefix
        - rir
      type: object
    Circuit:
      properties:
        cid:
          maxLength: 50
          minLength: 1
          title: Circuit ID
          type: string
        comments:
          title: Comments
          type: string
        commit_rate:
          maximum: 2147483647
          minimum: 0
          title: Commit rate (Kbps)
          type: integer
        created:
          format: date
          readOnly: true
          title: Created
          type: string
        custom_fields:
          title: Custom fields
          type: object
        description:
          maxLength: 100
          title: Description
          type: string
        id:
          readOnly: true
          title: ID
          type: integer
        install_date:
          format: date
          title: Date installed
          type: string
        last_updated:
          format: date-time
          readOnly: true
          title: Last updated
          type: string
        provider:
          $ref: "#/components/schemas/NestedProvider"
        status:
          properties:
            label:
              type: string
            value:
              type: integer
          required:
            - label
            - value
          title: Status
          type: object
        tags:
          items:
            minLength: 1
            type: string
          type: array
        tenant:
          $ref: "#/components/schemas/NestedTenant"
        type:
          $ref: "#/components/schemas/NestedCircuitType"
      required:
        - cid
        - provider
        - type
      type: object
    CircuitTermination:
      properties:
        circuit:
          $ref: "#/components/schemas/NestedCircuit"
        id:
          readOnly: true
          title: ID
          type: integer
        interface:
          $ref: "#/components/schemas/NestedInterface"
        port_speed:
          maximum: 2147483647
          minimum: 0
          title: Port speed (Kbps)
          type: integer
        pp_info:
          maxLength: 100
          title: Patch panel/port(s)
          type: string
        site:
          $ref: "#/components/schemas/NestedSite"
        term_side:
          enum:
            - A
            - Z
          title: Termination
          type: string
        upstream_speed:
          description: Upstream speed, if different from port speed
          maximum: 2147483647
          minimum: 0
          title: Upstream speed (Kbps)
          type: integer
        xconnect_id:
          maxLength: 50
          title: Cross-connect ID
          type: string
      required:
        - circuit
        - term_side
        - site
        - port_speed
      type: object
    CircuitType:
      properties:
        id:
          readOnly: true
          title: ID
          type: integer
        name:
          maxLength: 50
          minLength: 1
          title: Name
          type: string
        slug:
          format: slug
          maxLength: 50
          minLength: 1
          pattern: ^[-a-zA-Z0-9_]+$
          title: Slug
          type: string
      required:
        - name
        - slug
      type: object
    Cluster:
      properties:
        comments:
          title: Comments
          type: string
        created:
          format: date
          readOnly: true
          title: Created
          type: string
        custom_fields:
          title: Custom fields
          type: object
        group:
          $ref: "#/components/schemas/NestedClusterGroup"
        id:
          readOnly: true
          title: ID
          type: integer
        last_updated:
          format: date-time
          readOnly: true
          title: Last updated
          type: string
        name:
          maxLength: 100
          minLength: 1
          title: Name
          type: string
        site:
          $ref: "#/components/schemas/NestedSite"
        tags:
          items:
            minLength: 1
            type: string
          type: array
        type:
          $ref: "#/components/schemas/NestedClusterType"
      required:
        - name
        - type
      type: object
    ClusterGroup:
      properties:
        id:
          readOnly: true
          title: ID
          type: integer
        name:
          maxLength: 50
          minLength: 1
          title: Name
          type: string
        slug:
          format: slug
          maxLength: 50
          minLength: 1
          pattern: ^[-a-zA-Z0-9_]+$
          title: Slug
          type: string
      required:
        - name
        - slug
      type: object
    ClusterType:
      properties:
        id:
          readOnly: true
          title: ID
          type: integer
        name:
          maxLength: 50
          minLength: 1
          title: Name
          type: string
        slug:
          format: slug
          maxLength: 50
          minLength: 1
          pattern: ^[-a-zA-Z0-9_]+$
          title: Slug
          type: string
      required:
        - name
        - slug
      type: object
    ConfigContext:
      properties:
        data:
          title: Data
          type: string
        description:
          maxLength: 100
          title: Description
          type: string
        id:
          readOnly: true
          title: ID
          type: integer
        is_active:
          title: Is active
          type: boolean
        name:
          maxLength: 100
          minLength: 1
          title: Name
          type: string
        platforms:
          items:
            $ref: "#/components/schemas/NestedPlatform"
          type: array
          uniqueItems: true
        regions:
          items:
            $ref: "#/components/schemas/NestedRegion"
          type: array
          uniqueItems: true
        roles:
          items:
            $ref: "#/components/schemas/NestedDeviceRole"
          type: array
          uniqueItems: true
        sites:
          items:
            $ref: "#/components/schemas/NestedSite"
          type: array
          uniqueItems: true
        tenant_groups:
          items:
            $ref: "#/components/schemas/NestedTenantGroup"
          type: array
          uniqueItems: true
        tenants:
          items:
            $ref: "#/components/schemas/NestedTenant"
          type: array
          uniqueItems: true
        weight:
          maximum: 32767
          minimum: 0
          title: Weight
          type: integer
      required:
        - name
        - data
      type: object
    ConsolePort:
      properties:
        connection_status:
          enum:
            - false
            - true
          title: Connection status
          type: boolean
        cs_port:
          $ref: "#/components/schemas/NestedConsoleServerPort"
        device:
          $ref: "#/components/schemas/NestedDevice"
        id:
          readOnly: true
          title: ID
          type: integer
        name:
          maxLength: 50
          minLength: 1
          title: Name
          type: string
        tags:
          items:
            minLength: 1
            type: string
          type: array
      required:
        - device
        - name
      type: object
    ConsolePortTemplate:
      properties:
        device_type:
          $ref: "#/components/schemas/NestedDeviceType"
        id:
          readOnly: true
          title: ID
          type: integer
        name:
          maxLength: 50
          minLength: 1
          title: Name
          type: string
      required:
        - device_type
        - name
      type: object
    ConsoleServerPort:
      properties:
        connected_console:
          readOnly: true
          title: Connected console
          type: string
        device:
          $ref: "#/components/schemas/NestedDevice"
        id:
          readOnly: true
          title: ID
          type: integer
        name:
          maxLength: 50
          minLength: 1
          title: Name
          type: string
        tags:
          items:
            minLength: 1
            type: string
          type: array
      required:
        - device
        - name
      type: object
    ConsoleServerPortTemplate:
      properties:
        device_type:
          $ref: "#/components/schemas/NestedDeviceType"
        id:
          readOnly: true
          title: ID
          type: integer
        name:
          maxLength: 50
          minLength: 1
          title: Name
          type: string
      required:
        - device_type
        - name
      type: object
    Device:
      properties:
        asset_tag:
          description: A unique tag used to identify this device
          maxLength: 50
          title: Asset tag
          type: string
        cluster:
          $ref: "#/components/schemas/NestedCluster"
        comments:
          title: Comments
          type: string
        created:
          format: date
          readOnly: true
          title: Created
          type: string
        custom_fields:
          title: Custom fields
          type: object
        device_role:
          $ref: "#/components/schemas/NestedDeviceRole"
        device_type:
          $ref: "#/components/schemas/NestedDeviceType"
        display_name:
          readOnly: true
          title: Display name
          type: string
        face:
          properties:
            label:
              type: string
            value:
              nullable: true
              type: integer
          required:
            - label
            - value
          title: Face
          type: object
        id:
          readOnly: true
          title: ID
          type: integer
        last_updated:
          format: date-time
          readOnly: true
          title: Last updated
          type: string
        local_context_data:
          title: Local context data
          type: string
        name:
          maxLength: 64
          title: Name
          type: string
        parent_device:
          readOnly: true
          title: Parent device
          type: string
        platform:
          $ref: "#/components/schemas/NestedPlatform"
        position:
          description: The lowest-numbered unit occupied by the device
          maximum: 32767
          minimum: 1
          title: Position (U)
          type: integer
        primary_ip:
          $ref: "#/components/schemas/DeviceIPAddress"
        primary_ip4:
          $ref: "#/components/schemas/DeviceIPAddress"
        primary_ip6:
          $ref: "#/components/schemas/DeviceIPAddress"
        rack:
          $ref: "#/components/schemas/NestedRack"
        serial:
          maxLength: 50
          title: Serial number
          type: string
        site:
          $ref: "#/components/schemas/NestedSite"
        status:
          properties:
            label:
              type: string
            value:
              type: integer
          required:
            - label
            - value
          title: Status
          type: object
        tags:
          items:
            minLength: 1
            type: string
          type: array
        tenant:
          $ref: "#/components/schemas/NestedTenant"
        vc_position:
          maximum: 255
          minimum: 0
          title: Vc position
          type: integer
        vc_priority:
          maximum: 255
          minimum: 0
          title: Vc priority
          type: integer
        virtual_chassis:
          $ref: "#/components/schemas/DeviceVirtualChassis"
      required:
        - device_type
        - device_role
        - site
      type: object
    DeviceBay:
      properties:
        device:
          $ref: "#/components/schemas/NestedDevice"
        id:
          readOnly: true
          title: ID
          type: integer
        installed_device:
          $ref: "#/components/schemas/NestedDevice"
        name:
          maxLength: 50
          minLength: 1
          title: Name
          type: string
        tags:
          items:
            minLength: 1
            type: string
          type: array
      required:
        - device
        - name
      type: object
    DeviceBayTemplate:
      properties:
        device_type:
          $ref: "#/components/schemas/NestedDeviceType"
        id:
          readOnly: true
          title: ID
          type: integer
        name:
          maxLength: 50
          minLength: 1
          title: Name
          type: string
      required:
        - device_type
        - name
      type: object
    DeviceIPAddress:
      properties:
        address:
          description: IPv4 or IPv6 address (with mask)
          title: Address
          type: string
        family:
          readOnly: true
          title: Family
          type: integer
        id:
          readOnly: true
          title: ID
          type: integer
        url:
          format: uri
          readOnly: true
          title: Url
          type: string
      readOnly: true
      required:
        - address
      title: Primary ip
      type: object
    DeviceRole:
      properties:
        color:
          maxLength: 6
          minLength: 1
          pattern: ^[0-9a-f]{6}$
          title: Color
          type: string
        id:
          readOnly: true
          title: ID
          type: integer
        name:
          maxLength: 50
          minLength: 1
          title: Name
          type: string
        slug:
          format: slug
          maxLength: 50
          minLength: 1
          pattern: ^[-a-zA-Z0-9_]+$
          title: Slug
          type: string
        vm_role:
          description: Virtual machines may be assigned to this role
          title: VM Role
          type: boolean
      required:
        - name
        - slug
        - color
      type: object
    DeviceType:
      properties:
        comments:
          title: Comments
          type: string
        created:
          format: date
          readOnly: true
          title: Created
          type: string
        custom_fields:
          title: Custom fields
          type: object
        id:
          readOnly: true
          title: ID
          type: integer
        instance_count:
          readOnly: true
          title: Instance count
          type: integer
        interface_ordering:
          properties:
            label:
              type: string
            value:
              type: integer
          required:
            - label
            - value
          title: Interface ordering
          type: object
        is_console_server:
          description: This type of device has console server ports
          title: Is a console server
          type: boolean
        is_full_depth:
          description: Device consumes both front and rear rack faces
          title: Is full depth
          type: boolean
        is_network_device:
          description: This type of device has network interfaces
          title: Is a network device
          type: boolean
        is_pdu:
          description: This type of device has power outlets
          title: Is a PDU
          type: boolean
        last_updated:
          format: date-time
          readOnly: true
          title: Last updated
          type: string
        manufacturer:
          $ref: "#/components/schemas/NestedManufacturer"
        model:
          maxLength: 50
          minLength: 1
          title: Model
          type: string
        part_number:
          description: Discrete part number (optional)
          maxLength: 50
          title: Part number
          type: string
        slug:
          format: slug
          maxLength: 50
          minLength: 1
          pattern: ^[-a-zA-Z0-9_]+$
          title: Slug
          type: string
        subdevice_role:
          properties:
            label:
              type: string
            value:
              nullable: true
              type: boolean
          required:
            - label
            - value
          title: Subdevice role
          type: object
        tags:
          items:
            minLength: 1
            type: string
          type: array
        u_height:
          maximum: 32767
          minimum: 0
          title: Height (U)
          type: integer
      required:
        - manufacturer
        - model
        - slug
      type: object
    DeviceVirtualChassis:
      properties:
        id:
          readOnly: true
          title: ID
          type: integer
        master:
          $ref: "#/components/schemas/NestedDevice"
        url:
          format: uri
          readOnly: true
          title: Url
          type: string
      required:
        - master
      title: Virtual chassis
      type: object
    DeviceWithConfigContext:
      properties:
        asset_tag:
          description: A unique tag used to identify this device
          maxLength: 50
          title: Asset tag
          type: string
        cluster:
          $ref: "#/components/schemas/NestedCluster"
        comments:
          title: Comments
          type: string
        config_context:
          readOnly: true
          title: Config context
          type: string
        created:
          format: date
          readOnly: true
          title: Created
          type: string
        custom_fields:
          title: Custom fields
          type: object
        device_role:
          $ref: "#/components/schemas/NestedDeviceRole"
        device_type:
          $ref: "#/components/schemas/NestedDeviceType"
        display_name:
          readOnly: true
          title: Display name
          type: string
        face:
          properties:
            label:
              type: string
            value:
              nullable: true
              type: integer
          required:
            - label
            - value
          title: Face
          type: object
        id:
          readOnly: true
          title: ID
          type: integer
        last_updated:
          format: date-time
          readOnly: true
          title: Last updated
          type: string
        local_context_data:
          title: Local context data
          type: string
        name:
          maxLength: 64
          title: Name
          type: string
        parent_device:
          readOnly: true
          title: Parent device
          type: string
        platform:
          $ref: "#/components/schemas/NestedPlatform"
        position:
          description: The lowest-numbered unit occupied by the device
          maximum: 32767
          minimum: 1
          title: Position (U)
          type: integer
        primary_ip:
          $ref: "#/components/schemas/DeviceIPAddress"
        primary_ip4:
          $ref: "#/components/schemas/DeviceIPAddress"
        primary_ip6:
          $ref: "#/components/schemas/DeviceIPAddress"
        rack:
          $ref: "#/components/schemas/NestedRack"
        serial:
          maxLength: 50
          title: Serial number
          type: string
        site:
          $ref: "#/components/schemas/NestedSite"
        status:
          properties:
            label:
              type: string
            value:
              type: integer
          required:
            - label
            - value
          title: Status
          type: object
        tags:
          items:
            minLength: 1
            type: string
          type: array
        tenant:
          $ref: "#/components/schemas/NestedTenant"
        vc_position:
          maximum: 255
          minimum: 0
          title: Vc position
          type: integer
        vc_priority:
          maximum: 255
          minimum: 0
          title: Vc priority
          type: integer
        virtual_chassis:
          $ref: "#/components/schemas/DeviceVirtualChassis"
      required:
        - device_type
        - device_role
        - site
      type: object
    ExportTemplate:
      properties:
        content_type:
          title: Content type
          type: integer
        description:
          maxLength: 200
          title: Description
          type: string
        file_extension:
          maxLength: 15
          title: File extension
          type: string
        id:
          readOnly: true
          title: ID
          type: integer
        mime_type:
          maxLength: 15
          title: Mime type
          type: string
        name:
          maxLength: 100
          minLength: 1
          title: Name
          type: string
        template_code:
          minLength: 1
          title: Template code
          type: string
      required:
        - content_type
        - name
        - template_code
      type: object
    Graph:
      properties:
        id:
          readOnly: true
          title: ID
          type: integer
        link:
          format: uri
          maxLength: 200
          title: Link URL
          type: string
        name:
          maxLength: 100
          minLength: 1
          title: Name
          type: string
        source:
          maxLength: 500
          minLength: 1
          title: Source URL
          type: string
        type:
          properties:
            label:
              type: string
            value:
              type: integer
          required:
            - label
            - value
          title: Type
          type: object
        weight:
          maximum: 32767
          minimum: 0
          title: Weight
          type: integer
      required:
        - type
        - name
        - source
      type: object
    IPAddress:
      properties:
        address:
          description: IPv4 or IPv6 address (with mask)
          title: Address
          type: string
        created:
          format: date
          readOnly: true
          title: Created
          type: string
        custom_fields:
          title: Custom fields
          type: object
        description:
          maxLength: 100
          title: Description
          type: string
        family:
          readOnly: true
          title: Family
          type: integer
        id:
          readOnly: true
          title: ID
          type: integer
        interface:
          $ref: "#/components/schemas/IPAddressInterface"
        last_updated:
          format: date-time
          readOnly: true
          title: Last updated
          type: string
        nat_inside:
          $ref: "#/components/schemas/NestedIPAddress"
        nat_outside:
          $ref: "#/components/schemas/NestedIPAddress"
        role:
          properties:
            label:
              type: string
            value:
              type: integer
          required:
            - label
            - value
          title: Role
          type: object
        status:
          properties:
            label:
              type: string
            value:
              type: integer
          required:
            - label
            - value
          title: Status
          type: object
        tags:
          items:
            minLength: 1
            type: string
          type: array
        tenant:
          $ref: "#/components/schemas/NestedTenant"
        vrf:
          $ref: "#/components/schemas/NestedVRF"
      required:
        - address
      type: object
    IPAddressInterface:
      properties:
        device:
          $ref: "#/components/schemas/NestedDevice"
        id:
          readOnly: true
          title: ID
          type: integer
        name:
          maxLength: 64
          minLength: 1
          title: Name
          type: string
        url:
          readOnly: true
          title: Url
          type: string
        virtual_machine:
          $ref: "#/components/schemas/NestedVirtualMachine"
      required:
        - name
      title: Interface
      type: object
    ImageAttachment:
      properties:
        content_type:
          title: Content type
          type: string
        created:
          format: date-time
          readOnly: true
          title: Created
          type: string
        id:
          readOnly: true
          title: ID
          type: integer
        image:
          format: uri
          readOnly: true
          title: Image
          type: string
        image_height:
          maximum: 32767
          minimum: 0
          title: Image height
          type: integer
        image_width:
          maximum: 32767
          minimum: 0
          title: Image width
          type: integer
        name:
          maxLength: 50
          title: Name
          type: string
        object_id:
          maximum: 2147483647
          minimum: 0
          title: Object id
          type: integer
        parent:
          readOnly: true
          title: Parent
          type: string
      required:
        - content_type
        - object_id
        - image_height
        - image_width
      type: object
    Interface:
      properties:
        circuit_termination:
          $ref: "#/components/schemas/InterfaceCircuitTermination"
        description:
          maxLength: 100
          title: Description
          type: string
        device:
          $ref: "#/components/schemas/NestedDevice"
        enabled:
          title: Enabled
          type: boolean
        form_factor:
          properties:
            label:
              type: string
            value:
              type: integer
          required:
            - label
            - value
          title: Form factor
          type: object
        id:
          readOnly: true
          title: ID
          type: integer
        interface_connection:
          readOnly: true
          title: Interface connection
          type: string
        is_connected:
          readOnly: true
          title: Is connected
          type: string
        lag:
          $ref: "#/components/schemas/NestedInterface"
        mac_address:
          title: MAC Address
          type: string
        mgmt_only:
          description: This interface is used only for out-of-band management
          title: OOB Management
          type: boolean
        mode:
          properties:
            label:
              type: string
            value:
              type: integer
          required:
            - label
            - value
          title: Mode
          type: object
        mtu:
          maximum: 65536
          minimum: 1
          title: MTU
          type: integer
        name:
          maxLength: 64
          minLength: 1
          title: Name
          type: string
        tagged_vlans:
          items:
            $ref: "#/components/schemas/InterfaceVLAN"
          type: array
          uniqueItems: true
        tags:
          items:
            minLength: 1
            type: string
          type: array
        untagged_vlan:
          $ref: "#/components/schemas/InterfaceVLAN"
      required:
        - device
        - name
      type: object
    InterfaceCircuitTermination:
      properties:
        circuit:
          $ref: "#/components/schemas/InterfaceNestedCircuit"
        id:
          readOnly: true
          title: ID
          type: integer
        port_speed:
          maximum: 2147483647
          minimum: 0
          title: Port speed (Kbps)
          type: integer
        pp_info:
          maxLength: 100
          title: Patch panel/port(s)
          type: string
        term_side:
          enum:
            - A
            - Z
          title: Termination
          type: string
        upstream_speed:
          description: Upstream speed, if different from port speed
          maximum: 2147483647
          minimum: 0
          title: Upstream speed (Kbps)
          type: integer
        xconnect_id:
          maxLength: 50
          title: Cross-connect ID
          type: string
      readOnly: true
      required:
        - term_side
        - port_speed
      title: Circuit termination
      type: object
    InterfaceConnection:
      properties:
        connection_status:
          properties:
            label:
              type: string
            value:
              nullable: true
              type: boolean
          required:
            - label
            - value
          title: Connection status
          type: object
        id:
          readOnly: true
          title: ID
          type: integer
        interface_a:
          $ref: "#/components/schemas/NestedInterface"
        interface_b:
          $ref: "#/components/schemas/NestedInterface"
      required:
        - interface_a
        - interface_b
      type: object
    InterfaceNestedCircuit:
      properties:
        cid:
          maxLength: 50
          minLength: 1
          title: Circuit ID
          type: string
        id:
          readOnly: true
          title: ID
          type: integer
        url:
          format: uri
          readOnly: true
          title: Url
          type: string
      readOnly: true
      required:
        - cid
      title: Circuit
      type: object
    InterfaceTemplate:
      properties:
        device_type:
          $ref: "#/components/schemas/NestedDeviceType"
        form_factor:
          properties:
            label:
              type: string
            value:
              type: integer
          required:
            - label
            - value
          title: Form factor
          type: object
        id:
          readOnly: true
          title: ID
          type: integer
        mgmt_only:
          title: Management only
          type: boolean
        name:
          maxLength: 64
          minLength: 1
          title: Name
          type: string
      required:
        - device_type
        - name
      type: object
    InterfaceVLAN:
      properties:
        display_name:
          readOnly: true
          title: Display name
          type: string
        id:
          readOnly: true
          title: ID
          type: integer
        name:
          maxLength: 64
          minLength: 1
          title: Name
          type: string
        url:
          format: uri
          readOnly: true
          title: Url
          type: string
        vid:
          maximum: 4094
          minimum: 1
          title: ID
          type: integer
      required:
        - vid
        - name
      title: Untagged vlan
      type: object
    InventoryItem:
      properties:
        asset_tag:
          description: A unique tag used to identify this item
          maxLength: 50
          title: Asset tag
          type: string
        description:
          maxLength: 100
          title: Description
          type: string
        device:
          $ref: "#/components/schemas/NestedDevice"
        discovered:
          title: Discovered
          type: boolean
        id:
          readOnly: true
          title: ID
          type: integer
        manufacturer:
          $ref: "#/components/schemas/NestedManufacturer"
        name:
          maxLength: 50
          minLength: 1
          title: Name
          type: string
        parent:
          title: Parent
          type: integer
        part_id:
          maxLength: 50
          title: Part ID
          type: string
        serial:
          maxLength: 50
          title: Serial number
          type: string
        tags:
          items:
            minLength: 1
            type: string
          type: array
      required:
        - device
        - name
      type: object
    Manufacturer:
      properties:
        id:
          readOnly: true
          title: ID
          type: integer
        name:
          maxLength: 50
          minLength: 1
          title: Name
          type: string
        slug:
          format: slug
          maxLength: 50
          minLength: 1
          pattern: ^[-a-zA-Z0-9_]+$
          title: Slug
          type: string
      required:
        - name
        - slug
      type: object
    NestedCircuit:
      properties:
        cid:
          maxLength: 50
          minLength: 1
          title: Circuit ID
          type: string
        id:
          readOnly: true
          title: ID
          type: integer
        url:
          format: uri
          readOnly: true
          title: Url
          type: string
      required:
        - cid
      title: Circuit
      type: object
    NestedCircuitType:
      properties:
        id:
          readOnly: true
          title: ID
          type: integer
        name:
          maxLength: 50
          minLength: 1
          title: Name
          type: string
        slug:
          format: slug
          maxLength: 50
          minLength: 1
          pattern: ^[-a-zA-Z0-9_]+$
          title: Slug
          type: string
        url:
          format: uri
          readOnly: true
          title: Url
          type: string
      required:
        - name
        - slug
      title: Type
      type: object
    NestedCluster:
      properties:
        id:
          readOnly: true
          title: ID
          type: integer
        name:
          maxLength: 100
          minLength: 1
          title: Name
          type: string
        url:
          format: uri
          readOnly: true
          title: Url
          type: string
      required:
        - name
      title: Cluster
      type: object
    NestedClusterGroup:
      properties:
        id:
          readOnly: true
          title: ID
          type: integer
        name:
          maxLength: 50
          minLength: 1
          title: Name
          type: string
        slug:
          format: slug
          maxLength: 50
          minLength: 1
          pattern: ^[-a-zA-Z0-9_]+$
          title: Slug
          type: string
        url:
          format: uri
          readOnly: true
          title: Url
          type: string
      required:
        - name
        - slug
      title: Group
      type: object
    NestedClusterType:
      properties:
        id:
          readOnly: true
          title: ID
          type: integer
        name:
          maxLength: 50
          minLength: 1
          title: Name
          type: string
        slug:
          format: slug
          maxLength: 50
          minLength: 1
          pattern: ^[-a-zA-Z0-9_]+$
          title: Slug
          type: string
        url:
          format: uri
          readOnly: true
          title: Url
          type: string
      required:
        - name
        - slug
      title: Type
      type: object
    NestedConsoleServerPort:
      properties:
        device:
          $ref: "#/components/schemas/NestedDevice"
        id:
          readOnly: true
          title: ID
          type: integer
        is_connected:
          readOnly: true
          title: Is connected
          type: string
        name:
          maxLength: 50
          minLength: 1
          title: Name
          type: string
        url:
          format: uri
          readOnly: true
          title: Url
          type: string
      required:
        - name
      title: Cs port
      type: object
    NestedDevice:
      properties:
        display_name:
          readOnly: true
          title: Display name
          type: string
        id:
          readOnly: true
          title: ID
          type: integer
        name:
          maxLength: 64
          title: Name
          type: string
        url:
          format: uri
          readOnly: true
          title: Url
          type: string
      readOnly: true
      title: Device
      type: object
    NestedDeviceRole:
      properties:
        id:
          readOnly: true
          title: ID
          type: integer
        name:
          maxLength: 50
          minLength: 1
          title: Name
          type: string
        slug:
          format: slug
          maxLength: 50
          minLength: 1
          pattern: ^[-a-zA-Z0-9_]+$
          title: Slug
          type: string
        url:
          format: uri
          readOnly: true
          title: Url
          type: string
      required:
        - name
        - slug
      title: Device role
      type: object
    NestedDeviceType:
      properties:
        id:
          readOnly: true
          title: ID
          type: integer
        manufacturer:
          $ref: "#/components/schemas/NestedManufacturer"
        model:
          maxLength: 50
          minLength: 1
          title: Model
          type: string
        slug:
          format: slug
          maxLength: 50
          minLength: 1
          pattern: ^[-a-zA-Z0-9_]+$
          title: Slug
          type: string
        url:
          format: uri
          readOnly: true
          title: Url
          type: string
      required:
        - model
        - slug
      title: Device type
      type: object
    NestedIPAddress:
      properties:
        address:
          description: IPv4 or IPv6 address (with mask)
          title: Address
          type: string
        family:
          readOnly: true
          title: Family
          type: integer
        id:
          readOnly: true
          title: ID
          type: integer
        url:
          format: uri
          readOnly: true
          title: Url
          type: string
      required:
        - address
      title: Nat inside
      type: object
    NestedInterface:
      properties:
        device:
          $ref: "#/components/schemas/NestedDevice"
        id:
          readOnly: true
          title: ID
          type: integer
        is_connected:
          readOnly: true
          title: Is connected
          type: string
        name:
          maxLength: 64
          minLength: 1
          title: Name
          type: string
        url:
          format: uri
          readOnly: true
          title: Url
          type: string
      required:
        - name
      title: Interface
      type: object
    NestedManufacturer:
      properties:
        id:
          readOnly: true
          title: ID
          type: integer
        name:
          maxLength: 50
          minLength: 1
          title: Name
          type: string
        slug:
          format: slug
          maxLength: 50
          minLength: 1
          pattern: ^[-a-zA-Z0-9_]+$
          title: Slug
          type: string
        url:
          format: uri
          readOnly: true
          title: Url
          type: string
      readOnly: true
      required:
        - name
        - slug
      title: Manufacturer
      type: object
    NestedPlatform:
      properties:
        id:
          readOnly: true
          title: ID
          type: integer
        name:
          maxLength: 50
          minLength: 1
          title: Name
          type: string
        slug:
          format: slug
          maxLength: 50
          minLength: 1
          pattern: ^[-a-zA-Z0-9_]+$
          title: Slug
          type: string
        url:
          format: uri
          readOnly: true
          title: Url
          type: string
      required:
        - name
        - slug
      title: Platform
      type: object
    NestedPowerOutlet:
      properties:
        device:
          $ref: "#/components/schemas/NestedDevice"
        id:
          readOnly: true
          title: ID
          type: integer
        is_connected:
          readOnly: true
          title: Is connected
          type: string
        name:
          maxLength: 50
          minLength: 1
          title: Name
          type: string
        url:
          format: uri
          readOnly: true
          title: Url
          type: string
      required:
        - name
      title: Power outlet
      type: object
    NestedProvider:
      properties:
        id:
          readOnly: true
          title: ID
          type: integer
        name:
          maxLength: 50
          minLength: 1
          title: Name
          type: string
        slug:
          format: slug
          maxLength: 50
          minLength: 1
          pattern: ^[-a-zA-Z0-9_]+$
          title: Slug
          type: string
        url:
          format: uri
          readOnly: true
          title: Url
          type: string
      required:
        - name
        - slug
      title: Provider
      type: object
    NestedRIR:
      properties:
        id:
          readOnly: true
          title: ID
          type: integer
        name:
          maxLength: 50
          minLength: 1
          title: Name
          type: string
        slug:
          format: slug
          maxLength: 50
          minLength: 1
          pattern: ^[-a-zA-Z0-9_]+$
          title: Slug
          type: string
        url:
          format: uri
          readOnly: true
          title: Url
          type: string
      required:
        - name
        - slug
      title: Rir
      type: object
    NestedRack:
      properties:
        display_name:
          readOnly: true
          title: Display name
          type: string
        id:
          readOnly: true
          title: ID
          type: integer
        name:
          maxLength: 50
          minLength: 1
          title: Name
          type: string
        url:
          format: uri
          readOnly: true
          title: Url
          type: string
      required:
        - name
      title: Rack
      type: object
    NestedRackGroup:
      properties:
        id:
          readOnly: true
          title: ID
          type: integer
        name:
          maxLength: 50
          minLength: 1
          title: Name
          type: string
        slug:
          format: slug
          maxLength: 50
          minLength: 1
          pattern: ^[-a-zA-Z0-9_]+$
          title: Slug
          type: string
        url:
          format: uri
          readOnly: true
          title: Url
          type: string
      required:
        - name
        - slug
      title: Group
      type: object
    NestedRackRole:
      properties:
        id:
          readOnly: true
          title: ID
          type: integer
        name:
          maxLength: 50
          minLength: 1
          title: Name
          type: string
        slug:
          format: slug
          maxLength: 50
          minLength: 1
          pattern: ^[-a-zA-Z0-9_]+$
          title: Slug
          type: string
        url:
          format: uri
          readOnly: true
          title: Url
          type: string
      required:
        - name
        - slug
      title: Role
      type: object
    NestedRegion:
      properties:
        id:
          readOnly: true
          title: ID
          type: integer
        name:
          maxLength: 50
          minLength: 1
          title: Name
          type: string
        slug:
          format: slug
          maxLength: 50
          minLength: 1
          pattern: ^[-a-zA-Z0-9_]+$
          title: Slug
          type: string
        url:
          format: uri
          readOnly: true
          title: Url
          type: string
      required:
        - name
        - slug
      title: Parent
      type: object
    NestedRole:
      properties:
        id:
          readOnly: true
          title: ID
          type: integer
        name:
          maxLength: 50
          minLength: 1
          title: Name
          type: string
        slug:
          format: slug
          maxLength: 50
          minLength: 1
          pattern: ^[-a-zA-Z0-9_]+$
          title: Slug
          type: string
        url:
          format: uri
          readOnly: true
          title: Url
          type: string
      required:
        - name
        - slug
      title: Role
      type: object
    NestedSecretRole:
      properties:
        id:
          readOnly: true
          title: ID
          type: integer
        name:
          maxLength: 50
          minLength: 1
          title: Name
          type: string
        slug:
          format: slug
          maxLength: 50
          minLength: 1
          pattern: ^[-a-zA-Z0-9_]+$
          title: Slug
          type: string
        url:
          format: uri
          readOnly: true
          title: Url
          type: string
      required:
        - name
        - slug
      title: Role
      type: object
    NestedSite:
      properties:
        id:
          readOnly: true
          title: ID
          type: integer
        name:
          maxLength: 50
          minLength: 1
          title: Name
          type: string
        slug:
          format: slug
          maxLength: 50
          minLength: 1
          pattern: ^[-a-zA-Z0-9_]+$
          title: Slug
          type: string
        url:
          format: uri
          readOnly: true
          title: Url
          type: string
      required:
        - name
        - slug
      title: Site
      type: object
    NestedTenant:
      properties:
        id:
          readOnly: true
          title: ID
          type: integer
        name:
          maxLength: 30
          minLength: 1
          title: Name
          type: string
        slug:
          format: slug
          maxLength: 50
          minLength: 1
          pattern: ^[-a-zA-Z0-9_]+$
          title: Slug
          type: string
        url:
          format: uri
          readOnly: true
          title: Url
          type: string
      required:
        - name
        - slug
      title: Tenant
      type: object
    NestedTenantGroup:
      properties:
        id:
          readOnly: true
          title: ID
          type: integer
        name:
          maxLength: 50
          minLength: 1
          title: Name
          type: string
        slug:
          format: slug
          maxLength: 50
          minLength: 1
          pattern: ^[-a-zA-Z0-9_]+$
          title: Slug
          type: string
        url:
          format: uri
          readOnly: true
          title: Url
          type: string
      required:
        - name
        - slug
      type: object
    NestedUser:
      properties:
        id:
          readOnly: true
          title: ID
          type: integer
        username:
          description: Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only.
          maxLength: 150
          minLength: 1
          pattern: ^[\w.@+-]+$
          title: Username
          type: string
      required:
        - username
      title: User
      type: object
    NestedVLAN:
      properties:
        display_name:
          readOnly: true
          title: Display name
          type: string
        id:
          readOnly: true
          title: ID
          type: integer
        name:
          maxLength: 64
          minLength: 1
          title: Name
          type: string
        url:
          format: uri
          readOnly: true
          title: Url
          type: string
        vid:
          maximum: 4094
          minimum: 1
          title: ID
          type: integer
      required:
        - vid
        - name
      title: Vlan
      type: object
    NestedVLANGroup:
      properties:
        id:
          readOnly: true
          title: ID
          type: integer
        name:
          maxLength: 50
          minLength: 1
          title: Name
          type: string
        slug:
          format: slug
          maxLength: 50
          minLength: 1
          pattern: ^[-a-zA-Z0-9_]+$
          title: Slug
          type: string
        url:
          format: uri
          readOnly: true
          title: Url
          type: string
      required:
        - name
        - slug
      title: Group
      type: object
    NestedVRF:
      properties:
        id:
          readOnly: true
          title: ID
          type: integer
        name:
          maxLength: 50
          minLength: 1
          title: Name
          type: string
        rd:
          maxLength: 21
          minLength: 1
          title: Route distinguisher
          type: string
        url:
          format: uri
          readOnly: true
          title: Url
          type: string
      required:
        - name
        - rd
      title: Vrf
      type: object
    NestedVirtualMachine:
      properties:
        id:
          readOnly: true
          title: ID
          type: integer
        name:
          maxLength: 64
          minLength: 1
          title: Name
          type: string
        url:
          format: uri
          readOnly: true
          title: Url
          type: string
      readOnly: true
      required:
        - name
      title: Virtual machine
      type: object
    ObjectChange:
      properties:
        action:
          enum:
            - 1
            - 2
            - 3
          title: Action
          type: integer
        changed_object:
          readOnly: true
          title: Changed object
          type: string
        content_type:
          readOnly: true
          title: Content type
          type: string
        id:
          readOnly: true
          title: ID
          type: integer
        object_data:
          readOnly: true
          title: Object data
          type: string
        request_id:
          format: uuid
          readOnly: true
          title: Request id
          type: string
        time:
          format: date-time
          readOnly: true
          title: Time
          type: string
        user:
          $ref: "#/components/schemas/NestedUser"
        user_name:
          minLength: 1
          readOnly: true
          title: User name
          type: string
      required:
        - action
      type: object
    Platform:
      properties:
        id:
          readOnly: true
          title: ID
          type: integer
        manufacturer:
          $ref: "#/components/schemas/NestedManufacturer"
        name:
          maxLength: 50
          minLength: 1
          title: Name
          type: string
        napalm_args:
          description: Additional arguments to pass when initiating the NAPALM driver (JSON format)
          title: NAPALM arguments
          type: string
        napalm_driver:
          description: The name of the NAPALM driver to use when interacting with devices
          maxLength: 50
          title: NAPALM driver
          type: string
        rpc_client:
          enum:
            - juniper-junos
            - cisco-ios
            - opengear
          title: Legacy RPC client
          type: string
        slug:
          format: slug
          maxLength: 50
          minLength: 1
          pattern: ^[-a-zA-Z0-9_]+$
          title: Slug
          type: string
      required:
        - name
        - slug
      type: object
    PowerOutlet:
      properties:
        connected_port:
          readOnly: true
          title: Connected port
          type: string
        device:
          $ref: "#/components/schemas/NestedDevice"
        id:
          readOnly: true
          title: ID
          type: integer
        name:
          maxLength: 50
          minLength: 1
          title: Name
          type: string
        tags:
          items:
            minLength: 1
            type: string
          type: array
      required:
        - device
        - name
      type: object
    PowerOutletTemplate:
      properties:
        device_type:
          $ref: "#/components/schemas/NestedDeviceType"
        id:
          readOnly: true
          title: ID
          type: integer
        name:
          maxLength: 50
          minLength: 1
          title: Name
          type: string
      required:
        - device_type
        - name
      type: object
    PowerPort:
      properties:
        connection_status:
          enum:
            - false
            - true
          title: Connection status
          type: boolean
        device:
          $ref: "#/components/schemas/NestedDevice"
        id:
          readOnly: true
          title: ID
          type: integer
        name:
          maxLength: 50
          minLength: 1
          title: Name
          type: string
        power_outlet:
          $ref: "#/components/schemas/NestedPowerOutlet"
        tags:
          items:
            minLength: 1
            type: string
          type: array
      required:
        - device
        - name
      type: object
    PowerPortTemplate:
      properties:
        device_type:
          $ref: "#/components/schemas/NestedDeviceType"
        id:
          readOnly: true
          title: ID
          type: integer
        name:
          maxLength: 50
          minLength: 1
          title: Name
          type: string
      required:
        - device_type
        - name
      type: object
    Prefix:
      properties:
        created:
          format: date
          readOnly: true
          title: Created
          type: string
        custom_fields:
          title: Custom fields
          type: object
        description:
          maxLength: 100
          title: Description
          type: string
        family:
          readOnly: true
          title: Family
          type: integer
        id:
          readOnly: true
          title: ID
          type: integer
        is_pool:
          description: All IP addresses within this prefix are considered usable
          title: Is a pool
          type: boolean
        last_updated:
          format: date-time
          readOnly: true
          title: Last updated
          type: string
        prefix:
          description: IPv4 or IPv6 network with mask
          title: Prefix
          type: string
        role:
          $ref: "#/components/schemas/NestedRole"
        site:
          $ref: "#/components/schemas/NestedSite"
        status:
          properties:
            label:
              type: string
            value:
              type: integer
          required:
            - label
            - value
          title: Status
          type: object
        tags:
          items:
            minLength: 1
            type: string
          type: array
        tenant:
          $ref: "#/components/schemas/NestedTenant"
        vlan:
          $ref: "#/components/schemas/NestedVLAN"
        vrf:
          $ref: "#/components/schemas/NestedVRF"
      required:
        - prefix
      type: object
    Provider:
      properties:
        account:
          maxLength: 30
          title: Account number
          type: string
        admin_contact:
          title: Admin contact
          type: string
        asn:
          maximum: 4294967295
          minimum: 1
          title: ASN
          type: integer
        comments:
          title: Comments
          type: string
        created:
          format: date
          readOnly: true
          title: Created
          type: string
        custom_fields:
          title: Custom fields
          type: object
        id:
          readOnly: true
          title: ID
          type: integer
        last_updated:
          format: date-time
          readOnly: true
          title: Last updated
          type: string
        name:
          maxLength: 50
          minLength: 1
          title: Name
          type: string
        noc_contact:
          title: NOC contact
          type: string
        portal_url:
          format: uri
          maxLength: 200
          title: Portal
          type: string
        slug:
          format: slug
          maxLength: 50
          minLength: 1
          pattern: ^[-a-zA-Z0-9_]+$
          title: Slug
          type: string
        tags:
          items:
            minLength: 1
            type: string
          type: array
      required:
        - name
        - slug
      type: object
    RIR:
      properties:
        id:
          readOnly: true
          title: ID
          type: integer
        is_private:
          description: IP space managed by this RIR is considered private
          title: Private
          type: boolean
        name:
          maxLength: 50
          minLength: 1
          title: Name
          type: string
        slug:
          format: slug
          maxLength: 50
          minLength: 1
          pattern: ^[-a-zA-Z0-9_]+$
          title: Slug
          type: string
      required:
        - name
        - slug
      type: object
    Rack:
      properties:
        comments:
          title: Comments
          type: string
        created:
          format: date
          readOnly: true
          title: Created
          type: string
        custom_fields:
          title: Custom fields
          type: object
        desc_units:
          description: Units are numbered top-to-bottom
          title: Descending units
          type: boolean
        display_name:
          readOnly: true
          title: Display name
          type: string
        facility_id:
          maxLength: 50
          title: Facility ID
          type: string
        group:
          $ref: "#/components/schemas/NestedRackGroup"
        id:
          readOnly: true
          title: ID
          type: integer
        last_updated:
          format: date-time
          readOnly: true
          title: Last updated
          type: string
        name:
          maxLength: 50
          minLength: 1
          title: Name
          type: string
        role:
          $ref: "#/components/schemas/NestedRackRole"
        serial:
          maxLength: 50
          title: Serial number
          type: string
        site:
          $ref: "#/components/schemas/NestedSite"
        tags:
          items:
            minLength: 1
            type: string
          type: array
        tenant:
          $ref: "#/components/schemas/NestedTenant"
        type:
          properties:
            label:
              type: string
            value:
              type: integer
          required:
            - label
            - value
          title: Type
          type: object
        u_height:
          maximum: 100
          minimum: 1
          title: Height (U)
          type: integer
        width:
          properties:
            label:
              type: string
            value:
              type: integer
          required:
            - label
            - value
          title: Width
          type: object
      required:
        - name
        - site
      type: object
    RackGroup:
      properties:
        id:
          readOnly: true
          title: ID
          type: integer
        name:
          maxLength: 50
          minLength: 1
          title: Name
          type: string
        site:
          $ref: "#/components/schemas/NestedSite"
        slug:
          format: slug
          maxLength: 50
          minLength: 1
          pattern: ^[-a-zA-Z0-9_]+$
          title: Slug
          type: string
      required:
        - name
        - slug
        - site
      type: object
    RackReservation:
      properties:
        created:
          format: date
          readOnly: true
          title: Created
          type: string
        description:
          maxLength: 100
          minLength: 1
          title: Description
          type: string
        id:
          readOnly: true
          title: ID
          type: integer
        rack:
          $ref: "#/components/schemas/NestedRack"
        tenant:
          $ref: "#/components/schemas/NestedTenant"
        units:
          items:
            maximum: 32767
            minimum: 0
            title: Units
            type: integer
          type: array
        user:
          $ref: "#/components/schemas/NestedUser"
      required:
        - rack
        - units
        - user
        - description
      type: object
    RackRole:
      properties:
        color:
          maxLength: 6
          minLength: 1
          pattern: ^[0-9a-f]{6}$
          title: Color
          type: string
        id:
          readOnly: true
          title: ID
          type: integer
        name:
          maxLength: 50
          minLength: 1
          title: Name
          type: string
        slug:
          format: slug
          maxLength: 50
          minLength: 1
          pattern: ^[-a-zA-Z0-9_]+$
          title: Slug
          type: string
      required:
        - name
        - slug
        - color
      type: object
    Region:
      properties:
        id:
          readOnly: true
          title: ID
          type: integer
        name:
          maxLength: 50
          minLength: 1
          title: Name
          type: string
        parent:
          $ref: "#/components/schemas/NestedRegion"
        slug:
          format: slug
          maxLength: 50
          minLength: 1
          pattern: ^[-a-zA-Z0-9_]+$
          title: Slug
          type: string
      required:
        - name
        - slug
      type: object
    Role:
      properties:
        id:
          readOnly: true
          title: ID
          type: integer
        name:
          maxLength: 50
          minLength: 1
          title: Name
          type: string
        slug:
          format: slug
          maxLength: 50
          minLength: 1
          pattern: ^[-a-zA-Z0-9_]+$
          title: Slug
          type: string
        weight:
          maximum: 32767
          minimum: 0
          title: Weight
          type: integer
      required:
        - name
        - slug
      type: object
    Secret:
      properties:
        created:
          format: date
          readOnly: true
          title: Created
          type: string
        custom_fields:
          title: Custom fields
          type: object
        device:
          $ref: "#/components/schemas/NestedDevice"
        hash:
          minLength: 1
          readOnly: true
          title: Hash
          type: string
        id:
          readOnly: true
          title: ID
          type: integer
        last_updated:
          format: date-time
          readOnly: true
          title: Last updated
          type: string
        name:
          maxLength: 100
          title: Name
          type: string
        plaintext:
          minLength: 1
          title: Plaintext
          type: string
        role:
          $ref: "#/components/schemas/NestedSecretRole"
        tags:
          items:
            minLength: 1
            type: string
          type: array
      required:
        - device
        - role
        - plaintext
      type: object
    SecretRole:
      properties:
        id:
          readOnly: true
          title: ID
          type: integer
        name:
          maxLength: 50
          minLength: 1
          title: Name
          type: string
        slug:
          format: slug
          maxLength: 50
          minLength: 1
          pattern: ^[-a-zA-Z0-9_]+$
          title: Slug
          type: string
      required:
        - name
        - slug
      type: object
    Service:
      properties:
        created:
          format: date
          readOnly: true
          title: Created
          type: string
        custom_fields:
          title: Custom fields
          type: object
        description:
          maxLength: 100
          title: Description
          type: string
        device:
          $ref: "#/components/schemas/NestedDevice"
        id:
          readOnly: true
          title: ID
          type: integer
        ipaddresses:
          items:
            $ref: "#/components/schemas/NestedIPAddress"
          type: array
          uniqueItems: true
        last_updated:
          format: date-time
          readOnly: true
          title: Last updated
          type: string
        name:
          maxLength: 30
          minLength: 1
          title: Name
          type: string
        port:
          maximum: 65535
          minimum: 1
          title: Port number
          type: integer
        protocol:
          properties:
            label:
              type: string
            value:
              type: integer
          required:
            - label
            - value
          title: Protocol
          type: object
        virtual_machine:
          $ref: "#/components/schemas/NestedVirtualMachine"
      required:
        - name
        - port
        - protocol
      type: object
    Site:
      properties:
        asn:
          maximum: 4294967295
          minimum: 1
          title: ASN
          type: integer
        comments:
          title: Comments
          type: string
        contact_email:
          format: email
          maxLength: 254
          title: Contact E-mail
          type: string
        contact_name:
          maxLength: 50
          title: Contact name
          type: string
        contact_phone:
          maxLength: 20
          title: Contact phone
          type: string
        count_circuits:
          readOnly: true
          title: Count circuits
          type: integer
        count_devices:
          readOnly: true
          title: Count devices
          type: integer
        count_prefixes:
          readOnly: true
          title: Count prefixes
          type: integer
        count_racks:
          readOnly: true
          title: Count racks
          type: integer
        count_vlans:
          readOnly: true
          title: Count vlans
          type: integer
        created:
          format: date
          readOnly: true
          title: Created
          type: string
        custom_fields:
          title: Custom fields
          type: object
        description:
          maxLength: 100
          title: Description
          type: string
        facility:
          maxLength: 50
          title: Facility
          type: string
        id:
          readOnly: true
          title: ID
          type: integer
        last_updated:
          format: date-time
          readOnly: true
          title: Last updated
          type: string
        latitude:
          format: decimal
          title: Latitude
          type: string
        longitude:
          format: decimal
          title: Longitude
          type: string
        name:
          maxLength: 50
          minLength: 1
          title: Name
          type: string
        physical_address:
          maxLength: 200
          title: Physical address
          type: string
        region:
          $ref: "#/components/schemas/NestedRegion"
        shipping_address:
          maxLength: 200
          title: Shipping address
          type: string
        slug:
          format: slug
          maxLength: 50
          minLength: 1
          pattern: ^[-a-zA-Z0-9_]+$
          title: Slug
          type: string
        status:
          properties:
            label:
              type: string
            value:
              type: integer
          required:
            - label
            - value
          title: Status
          type: object
        tags:
          items:
            minLength: 1
            type: string
          type: array
        tenant:
          $ref: "#/components/schemas/NestedTenant"
        time_zone:
          title: Time zone
          type: string
      required:
        - name
        - slug
      type: object
    Tag:
      properties:
        id:
          readOnly: true
          title: ID
          type: integer
        name:
          maxLength: 100
          minLength: 1
          title: Name
          type: string
        slug:
          format: slug
          maxLength: 100
          minLength: 1
          pattern: ^[-a-zA-Z0-9_]+$
          title: Slug
          type: string
        tagged_items:
          readOnly: true
          title: Tagged items
          type: integer
      required:
        - name
        - slug
      type: object
    Tenant:
      properties:
        comments:
          title: Comments
          type: string
        created:
          format: date
          readOnly: true
          title: Created
          type: string
        custom_fields:
          title: Custom fields
          type: object
        description:
          description: Long-form name (optional)
          maxLength: 100
          title: Description
          type: string
        group:
          $ref: "#/components/schemas/NestedTenantGroup"
        id:
          readOnly: true
          title: ID
          type: integer
        last_updated:
          format: date-time
          readOnly: true
          title: Last updated
          type: string
        name:
          maxLength: 30
          minLength: 1
          title: Name
          type: string
        slug:
          format: slug
          maxLength: 50
          minLength: 1
          pattern: ^[-a-zA-Z0-9_]+$
          title: Slug
          type: string
        tags:
          items:
            minLength: 1
            type: string
          type: array
      required:
        - name
        - slug
      type: object
    TenantGroup:
      properties:
        id:
          readOnly: true
          title: ID
          type: integer
        name:
          maxLength: 50
          minLength: 1
          title: Name
          type: string
        slug:
          format: slug
          maxLength: 50
          minLength: 1
          pattern: ^[-a-zA-Z0-9_]+$
          title: Slug
          type: string
      required:
        - name
        - slug
      type: object
    TopologyMap:
      properties:
        description:
          maxLength: 100
          title: Description
          type: string
        device_patterns:
          description: Identify devices to include in the diagram using regular expressions, one per line. Each line will result in a new tier of the drawing. Separate multiple regexes within a line using semicolons. Devices will be rendered in the order they are defined.
          minLength: 1
          title: Device patterns
          type: string
        id:
          readOnly: true
          title: ID
          type: integer
        name:
          maxLength: 50
          minLength: 1
          title: Name
          type: string
        site:
          $ref: "#/components/schemas/NestedSite"
        slug:
          format: slug
          maxLength: 50
          minLength: 1
          pattern: ^[-a-zA-Z0-9_]+$
          title: Slug
          type: string
      required:
        - name
        - slug
        - site
        - device_patterns
      type: object
    UserAction:
      properties:
        action:
          properties:
            label:
              type: string
            value:
              type: integer
          required:
            - label
            - value
          title: Action
          type: object
        id:
          readOnly: true
          title: ID
          type: integer
        message:
          title: Message
          type: string
        time:
          format: date-time
          readOnly: true
          title: Time
          type: string
        user:
          $ref: "#/components/schemas/NestedUser"
      required:
        - user
        - action
      type: object
    VLAN:
      properties:
        created:
          format: date
          readOnly: true
          title: Created
          type: string
        custom_fields:
          title: Custom fields
          type: object
        description:
          maxLength: 100
          title: Description
          type: string
        display_name:
          readOnly: true
          title: Display name
          type: string
        group:
          $ref: "#/components/schemas/NestedVLANGroup"
        id:
          readOnly: true
          title: ID
          type: integer
        last_updated:
          format: date-time
          readOnly: true
          title: Last updated
          type: string
        name:
          maxLength: 64
          minLength: 1
          title: Name
          type: string
        role:
          $ref: "#/components/schemas/NestedRole"
        site:
          $ref: "#/components/schemas/NestedSite"
        status:
          properties:
            label:
              type: string
            value:
              type: integer
          required:
            - label
            - value
          title: Status
          type: object
        tags:
          items:
            minLength: 1
            type: string
          type: array
        tenant:
          $ref: "#/components/schemas/NestedTenant"
        vid:
          maximum: 4094
          minimum: 1
          title: ID
          type: integer
      required:
        - vid
        - name
      type: object
    VLANGroup:
      properties:
        id:
          readOnly: true
          title: ID
          type: integer
        name:
          maxLength: 50
          minLength: 1
          title: Name
          type: string
        site:
          $ref: "#/components/schemas/NestedSite"
        slug:
          format: slug
          maxLength: 50
          minLength: 1
          pattern: ^[-a-zA-Z0-9_]+$
          title: Slug
          type: string
      required:
        - name
        - slug
      type: object
    VRF:
      properties:
        created:
          format: date
          readOnly: true
          title: Created
          type: string
        custom_fields:
          title: Custom fields
          type: object
        description:
          maxLength: 100
          title: Description
          type: string
        display_name:
          readOnly: true
          title: Display name
          type: string
        enforce_unique:
          description: Prevent duplicate prefixes/IP addresses within this VRF
          title: Enforce unique space
          type: boolean
        id:
          readOnly: true
          title: ID
          type: integer
        last_updated:
          format: date-time
          readOnly: true
          title: Last updated
          type: string
        name:
          maxLength: 50
          minLength: 1
          title: Name
          type: string
        rd:
          maxLength: 21
          minLength: 1
          title: Route distinguisher
          type: string
        tags:
          items:
            minLength: 1
            type: string
          type: array
        tenant:
          $ref: "#/components/schemas/NestedTenant"
      required:
        - name
        - rd
      type: object
    VirtualChassis:
      properties:
        domain:
          maxLength: 30
          title: Domain
          type: string
        id:
          readOnly: true
          title: ID
          type: integer
        master:
          $ref: "#/components/schemas/NestedDevice"
        tags:
          items:
            minLength: 1
            type: string
          type: array
      required:
        - master
      type: object
    VirtualMachine:
      properties:
        cluster:
          $ref: "#/components/schemas/NestedCluster"
        comments:
          title: Comments
          type: string
        created:
          format: date
          readOnly: true
          title: Created
          type: string
        custom_fields:
          title: Custom fields
          type: object
        disk:
          maximum: 2147483647
          minimum: 0
          title: Disk (GB)
          type: integer
        id:
          readOnly: true
          title: ID
          type: integer
        last_updated:
          format: date-time
          readOnly: true
          title: Last updated
          type: string
        local_context_data:
          title: Local context data
          type: string
        memory:
          maximum: 2147483647
          minimum: 0
          title: Memory (MB)
          type: integer
        name:
          maxLength: 64
          minLength: 1
          title: Name
          type: string
        platform:
          $ref: "#/components/schemas/NestedPlatform"
        primary_ip:
          $ref: "#/components/schemas/VirtualMachineIPAddress"
        primary_ip4:
          $ref: "#/components/schemas/VirtualMachineIPAddress"
        primary_ip6:
          $ref: "#/components/schemas/VirtualMachineIPAddress"
        role:
          $ref: "#/components/schemas/NestedDeviceRole"
        site:
          $ref: "#/components/schemas/NestedSite"
        status:
          properties:
            label:
              type: string
            value:
              type: integer
          required:
            - label
            - value
          title: Status
          type: object
        tags:
          items:
            minLength: 1
            type: string
          type: array
        tenant:
          $ref: "#/components/schemas/NestedTenant"
        vcpus:
          maximum: 32767
          minimum: 0
          title: VCPUs
          type: integer
      required:
        - name
        - cluster
      type: object
    VirtualMachineIPAddress:
      properties:
        address:
          description: IPv4 or IPv6 address (with mask)
          title: Address
          type: string
        family:
          readOnly: true
          title: Family
          type: integer
        id:
          readOnly: true
          title: ID
          type: integer
        url:
          format: uri
          readOnly: true
          title: Url
          type: string
      readOnly: true
      required:
        - address
      title: Primary ip
      type: object
    VirtualMachineWithConfigContext:
      properties:
        cluster:
          $ref: "#/components/schemas/NestedCluster"
        comments:
          title: Comments
          type: string
        config_context:
          readOnly: true
          title: Config context
          type: string
        created:
          format: date
          readOnly: true
          title: Created
          type: string
        custom_fields:
          title: Custom fields
          type: object
        disk:
          maximum: 2147483647
          minimum: 0
          title: Disk (GB)
          type: integer
        id:
          readOnly: true
          title: ID
          type: integer
        last_updated:
          format: date-time
          readOnly: true
          title: Last updated
          type: string
        local_context_data:
          title: Local context data
          type: string
        memory:
          maximum: 2147483647
          minimum: 0
          title: Memory (MB)
          type: integer
        name:
          maxLength: 64
          minLength: 1
          title: Name
          type: string
        platform:
          $ref: "#/components/schemas/NestedPlatform"
        primary_ip:
          $ref: "#/components/schemas/VirtualMachineIPAddress"
        primary_ip4:
          $ref: "#/components/schemas/VirtualMachineIPAddress"
        primary_ip6:
          $ref: "#/components/schemas/VirtualMachineIPAddress"
        role:
          $ref: "#/components/schemas/NestedDeviceRole"
        status:
          properties:
            label:
              type: string
            value:
              type: integer
          required:
            - label
            - value
          title: Status
          type: object
        tags:
          items:
            minLength: 1
            type: string
          type: array
        tenant:
          $ref: "#/components/schemas/NestedTenant"
        vcpus:
          maximum: 32767
          minimum: 0
          title: VCPUs
          type: integer
      required:
        - name
        - cluster
      type: object
    WritableAggregate:
      properties:
        created:
          format: date
          readOnly: true
          title: Created
          type: string
        custom_fields:
          title: Custom fields
          type: object
        date_added:
          format: date
          title: Date added
          type: string
        description:
          maxLength: 100
          title: Description
          type: string
        family:
          enum:
            - 4
            - 6
          readOnly: true
          title: Family
          type: integer
        id:
          readOnly: true
          title: ID
          type: integer
        last_updated:
          format: date-time
          readOnly: true
          title: Last updated
          type: string
        prefix:
          title: Prefix
          type: string
        rir:
          title: RIR
          type: integer
        tags:
          items:
            minLength: 1
            type: string
          type: array
      required:
        - prefix
        - rir
      type: object
    WritableCircuit:
      properties:
        cid:
          maxLength: 50
          minLength: 1
          title: Circuit ID
          type: string
        comments:
          title: Comments
          type: string
        commit_rate:
          maximum: 2147483647
          minimum: 0
          title: Commit rate (Kbps)
          type: integer
        created:
          format: date
          readOnly: true
          title: Created
          type: string
        custom_fields:
          title: Custom fields
          type: object
        description:
          maxLength: 100
          title: Description
          type: string
        id:
          readOnly: true
          title: ID
          type: integer
        install_date:
          format: date
          title: Date installed
          type: string
        last_updated:
          format: date-time
          readOnly: true
          title: Last updated
          type: string
        provider:
          title: Provider
          type: integer
        status:
          enum:
            - 2
            - 3
            - 1
            - 4
            - 0
            - 5
          title: Status
          type: integer
        tags:
          items:
            minLength: 1
            type: string
          type: array
        tenant:
          title: Tenant
          type: integer
        type:
          title: Type
          type: integer
      required:
        - cid
        - provider
        - type
      type: object
    WritableCircuitTermination:
      properties:
        circuit:
          title: Circuit
          type: integer
        id:
          readOnly: true
          title: ID
          type: integer
        interface:
          title: Interface
          type: integer
        port_speed:
          maximum: 2147483647
          minimum: 0
          title: Port speed (Kbps)
          type: integer
        pp_info:
          maxLength: 100
          title: Patch panel/port(s)
          type: string
        site:
          title: Site
          type: integer
        term_side:
          enum:
            - A
            - Z
          title: Termination
          type: string
        upstream_speed:
          description: Upstream speed, if different from port speed
          maximum: 2147483647
          minimum: 0
          title: Upstream speed (Kbps)
          type: integer
        xconnect_id:
          maxLength: 50
          title: Cross-connect ID
          type: string
      required:
        - circuit
        - term_side
        - site
        - port_speed
      type: object
    WritableCluster:
      properties:
        comments:
          title: Comments
          type: string
        created:
          format: date
          readOnly: true
          title: Created
          type: string
        custom_fields:
          title: Custom fields
          type: object
        group:
          title: Group
          type: integer
        id:
          readOnly: true
          title: ID
          type: integer
        last_updated:
          format: date-time
          readOnly: true
          title: Last updated
          type: string
        name:
          maxLength: 100
          minLength: 1
          title: Name
          type: string
        site:
          title: Site
          type: integer
        tags:
          items:
            minLength: 1
            type: string
          type: array
        type:
          title: Type
          type: integer
      required:
        - name
        - type
      type: object
    WritableConfigContext:
      properties:
        data:
          title: Data
          type: string
        description:
          maxLength: 100
          title: Description
          type: string
        id:
          readOnly: true
          title: ID
          type: integer
        is_active:
          title: Is active
          type: boolean
        name:
          maxLength: 100
          minLength: 1
          title: Name
          type: string
        platforms:
          items:
            type: integer
          type: array
          uniqueItems: true
        regions:
          items:
            type: integer
          type: array
          uniqueItems: true
        roles:
          items:
            type: integer
          type: array
          uniqueItems: true
        sites:
          items:
            type: integer
          type: array
          uniqueItems: true
        tenant_groups:
          items:
            type: integer
          type: array
          uniqueItems: true
        tenants:
          items:
            type: integer
          type: array
          uniqueItems: true
        weight:
          maximum: 32767
          minimum: 0
          title: Weight
          type: integer
      required:
        - name
        - data
      type: object
    WritableConsolePort:
      properties:
        connection_status:
          enum:
            - false
            - true
          title: Connection status
          type: boolean
        cs_port:
          title: Console server port
          type: integer
        device:
          title: Device
          type: integer
        id:
          readOnly: true
          title: ID
          type: integer
        name:
          maxLength: 50
          minLength: 1
          title: Name
          type: string
        tags:
          items:
            minLength: 1
            type: string
          type: array
      required:
        - device
        - name
      type: object
    WritableConsolePortTemplate:
      properties:
        device_type:
          title: Device type
          type: integer
        id:
          readOnly: true
          title: ID
          type: integer
        name:
          maxLength: 50
          minLength: 1
          title: Name
          type: string
      required:
        - device_type
        - name
      type: object
    WritableConsoleServerPort:
      properties:
        connected_console:
          readOnly: true
          title: Connected console
          type: string
        device:
          title: Device
          type: integer
        id:
          readOnly: true
          title: ID
          type: integer
        name:
          maxLength: 50
          minLength: 1
          title: Name
          type: string
        tags:
          items:
            minLength: 1
            type: string
          type: array
      required:
        - device
        - name
      type: object
    WritableConsoleServerPortTemplate:
      properties:
        device_type:
          title: Device type
          type: integer
        id:
          readOnly: true
          title: ID
          type: integer
        name:
          maxLength: 50
          minLength: 1
          title: Name
          type: string
      required:
        - device_type
        - name
      type: object
    WritableDevice:
      properties:
        asset_tag:
          description: A unique tag used to identify this device
          maxLength: 50
          title: Asset tag
          type: string
        cluster:
          title: Cluster
          type: integer
        comments:
          title: Comments
          type: string
        created:
          format: date
          readOnly: true
          title: Created
          type: string
        custom_fields:
          title: Custom fields
          type: object
        device_role:
          title: Device role
          type: integer
        device_type:
          title: Device type
          type: integer
        display_name:
          readOnly: true
          title: Display name
          type: string
        face:
          enum:
            - 0
            - 1
          title: Rack face
          type: integer
        id:
          readOnly: true
          title: ID
          type: integer
        last_updated:
          format: date-time
          readOnly: true
          title: Last updated
          type: string
        local_context_data:
          title: Local context data
          type: string
        name:
          maxLength: 64
          title: Name
          type: string
        parent_device:
          readOnly: true
          title: Parent device
          type: string
        platform:
          title: Platform
          type: integer
        position:
          description: The lowest-numbered unit occupied by the device
          maximum: 32767
          minimum: 1
          title: Position (U)
          type: integer
        primary_ip:
          readOnly: true
          title: Primary ip
          type: string
        primary_ip4:
          title: Primary IPv4
          type: integer
        primary_ip6:
          title: Primary IPv6
          type: integer
        rack:
          title: Rack
          type: integer
        serial:
          maxLength: 50
          title: Serial number
          type: string
        site:
          title: Site
          type: integer
        status:
          enum:
            - 1
            - 0
            - 2
            - 3
            - 4
            - 5
          title: Status
          type: integer
        tags:
          items:
            minLength: 1
            type: string
          type: array
        tenant:
          title: Tenant
          type: integer
        vc_position:
          maximum: 255
          minimum: 0
          title: Vc position
          type: integer
        vc_priority:
          maximum: 255
          minimum: 0
          title: Vc priority
          type: integer
        virtual_chassis:
          title: Virtual chassis
          type: integer
      required:
        - device_type
        - device_role
        - site
      type: object
    WritableDeviceBay:
      properties:
        device:
          title: Device
          type: integer
        id:
          readOnly: true
          title: ID
          type: integer
        installed_device:
          title: Installed device
          type: integer
        name:
          maxLength: 50
          minLength: 1
          title: Name
          type: string
        tags:
          items:
            minLength: 1
            type: string
          type: array
      required:
        - device
        - name
      type: object
    WritableDeviceBayTemplate:
      properties:
        device_type:
          title: Device type
          type: integer
        id:
          readOnly: true
          title: ID
          type: integer
        name:
          maxLength: 50
          minLength: 1
          title: Name
          type: string
      required:
        - device_type
        - name
      type: object
    WritableDeviceType:
      properties:
        comments:
          title: Comments
          type: string
        created:
          format: date
          readOnly: true
          title: Created
          type: string
        custom_fields:
          title: Custom fields
          type: object
        id:
          readOnly: true
          title: ID
          type: integer
        instance_count:
          readOnly: true
          title: Instance count
          type: integer
        interface_ordering:
          enum:
            - 1
            - 2
          title: Interface ordering
          type: integer
        is_console_server:
          description: This type of device has console server ports
          title: Is a console server
          type: boolean
        is_full_depth:
          description: Device consumes both front and rear rack faces
          title: Is full depth
          type: boolean
        is_network_device:
          description: This type of device has network interfaces
          title: Is a network device
          type: boolean
        is_pdu:
          description: This type of device has power outlets
          title: Is a PDU
          type: boolean
        last_updated:
          format: date-time
          readOnly: true
          title: Last updated
          type: string
        manufacturer:
          title: Manufacturer
          type: integer
        model:
          maxLength: 50
          minLength: 1
          title: Model
          type: string
        part_number:
          description: Discrete part number (optional)
          maxLength: 50
          title: Part number
          type: string
        slug:
          format: slug
          maxLength: 50
          minLength: 1
          pattern: ^[-a-zA-Z0-9_]+$
          title: Slug
          type: string
        subdevice_role:
          description: Parent devices house child devices in device bays. Select "None" if this device type is neither a parent nor a child.
          enum:
            - null
            - true
            - false
          title: Parent/child status
          type: boolean
        tags:
          items:
            minLength: 1
            type: string
          type: array
        u_height:
          maximum: 32767
          minimum: 0
          title: Height (U)
          type: integer
      required:
        - manufacturer
        - model
        - slug
      type: object
    WritableGraph:
      properties:
        id:
          readOnly: true
          title: ID
          type: integer
        link:
          format: uri
          maxLength: 200
          title: Link URL
          type: string
        name:
          maxLength: 100
          minLength: 1
          title: Name
          type: string
        source:
          maxLength: 500
          minLength: 1
          title: Source URL
          type: string
        type:
          enum:
            - 100
            - 200
            - 300
          title: Type
          type: integer
        weight:
          maximum: 32767
          minimum: 0
          title: Weight
          type: integer
      required:
        - type
        - name
        - source
      type: object
    WritableIPAddress:
      properties:
        address:
          description: IPv4 or IPv6 address (with mask)
          title: Address
          type: string
        created:
          format: date
          readOnly: true
          title: Created
          type: string
        custom_fields:
          title: Custom fields
          type: object
        description:
          maxLength: 100
          title: Description
          type: string
        family:
          readOnly: true
          title: Family
          type: integer
        id:
          readOnly: true
          title: ID
          type: integer
        interface:
          title: Interface
          type: integer
        last_updated:
          format: date-time
          readOnly: true
          title: Last updated
          type: string
        nat_inside:
          description: The IP for which this address is the "outside" IP
          title: NAT (Inside)
          type: integer
        nat_outside:
          title: Nat outside
          type: integer
        role:
          description: The functional role of this IP
          enum:
            - 10
            - 20
            - 30
            - 40
            - 41
            - 42
            - 43
            - 44
          title: Role
          type: integer
        status:
          description: The operational status of this IP
          enum:
            - 1
            - 2
            - 3
            - 5
          title: Status
          type: integer
        tags:
          items:
            minLength: 1
            type: string
          type: array
        tenant:
          title: Tenant
          type: integer
        vrf:
          title: VRF
          type: integer
      required:
        - address
        - nat_outside
      type: object
    WritableInterface:
      properties:
        circuit_termination:
          title: Circuit termination
          type: integer
        description:
          maxLength: 100
          title: Description
          type: string
        device:
          title: Device
          type: integer
        enabled:
          title: Enabled
          type: boolean
        form_factor:
          enum:
            - 0
            - 200
            - 800
            - 1000
            - 1150
            - 1170
            - 1050
            - 1100
            - 1200
            - 1300
            - 1310
            - 1320
            - 1350
            - 1400
            - 1500
            - 1510
            - 1520
            - 1550
            - 1600
            - 2600
            - 2610
            - 2620
            - 2630
            - 2640
            - 6100
            - 6200
            - 6300
            - 6400
            - 6500
            - 6600
            - 6700
            - 3010
            - 3020
            - 3040
            - 3080
            - 3160
            - 3320
            - 4000
            - 4010
            - 4040
            - 4050
            - 5000
            - 5050
            - 5100
            - 5150
            - 5200
            - 5300
            - 5310
            - 5320
            - 5330
            - 32767
          title: Form factor
          type: integer
        id:
          readOnly: true
          title: ID
          type: integer
        interface_connection:
          readOnly: true
          title: Interface connection
          type: string
        is_connected:
          readOnly: true
          title: Is connected
          type: string
        lag:
          title: Parent LAG
          type: integer
        mac_address:
          title: MAC Address
          type: string
        mgmt_only:
          description: This interface is used only for out-of-band management
          title: OOB Management
          type: boolean
        mode:
          enum:
            - 100
            - 200
            - 300
          title: Mode
          type: integer
        mtu:
          maximum: 65536
          minimum: 1
          title: MTU
          type: integer
        name:
          maxLength: 64
          minLength: 1
          title: Name
          type: string
        tagged_vlans:
          items:
            title: Tagged VLANs
            type: integer
          type: array
          uniqueItems: true
        tags:
          items:
            minLength: 1
            type: string
          type: array
        untagged_vlan:
          title: Untagged VLAN
          type: integer
      required:
        - device
        - name
        - circuit_termination
      type: object
    WritableInterfaceConnection:
      properties:
        connection_status:
          enum:
            - false
            - true
          title: Status
          type: boolean
        id:
          readOnly: true
          title: ID
          type: integer
        interface_a:
          title: Interface a
          type: integer
        interface_b:
          title: Interface b
          type: integer
      required:
        - interface_a
        - interface_b
      type: object
    WritableInterfaceTemplate:
      properties:
        device_type:
          title: Device type
          type: integer
        form_factor:
          enum:
            - 0
            - 200
            - 800
            - 1000
            - 1150
            - 1170
            - 1050
            - 1100
            - 1200
            - 1300
            - 1310
            - 1320
            - 1350
            - 1400
            - 1500
            - 1510
            - 1520
            - 1550
            - 1600
            - 2600
            - 2610
            - 2620
            - 2630
            - 2640
            - 6100
            - 6200
            - 6300
            - 6400
            - 6500
            - 6600
            - 6700
            - 3010
            - 3020
            - 3040
            - 3080
            - 3160
            - 3320
            - 4000
            - 4010
            - 4040
            - 4050
            - 5000
            - 5050
            - 5100
            - 5150
            - 5200
            - 5300
            - 5310
            - 5320
            - 5330
            - 32767
          title: Form factor
          type: integer
        id:
          readOnly: true
          title: ID
          type: integer
        mgmt_only:
          title: Management only
          type: boolean
        name:
          maxLength: 64
          minLength: 1
          title: Name
          type: string
      required:
        - device_type
        - name
      type: object
    WritableInventoryItem:
      properties:
        asset_tag:
          description: A unique tag used to identify this item
          maxLength: 50
          title: Asset tag
          type: string
        description:
          maxLength: 100
          title: Description
          type: string
        device:
          title: Device
          type: integer
        discovered:
          title: Discovered
          type: boolean
        id:
          readOnly: true
          title: ID
          type: integer
        manufacturer:
          title: Manufacturer
          type: integer
        name:
          maxLength: 50
          minLength: 1
          title: Name
          type: string
        parent:
          title: Parent
          type: integer
        part_id:
          maxLength: 50
          title: Part ID
          type: string
        serial:
          maxLength: 50
          title: Serial number
          type: string
        tags:
          items:
            minLength: 1
            type: string
          type: array
      required:
        - device
        - name
      type: object
    WritablePlatform:
      properties:
        id:
          readOnly: true
          title: ID
          type: integer
        manufacturer:
          description: Optionally limit this platform to devices of a certain manufacturer
          title: Manufacturer
          type: integer
        name:
          maxLength: 50
          minLength: 1
          title: Name
          type: string
        napalm_args:
          description: Additional arguments to pass when initiating the NAPALM driver (JSON format)
          title: NAPALM arguments
          type: string
        napalm_driver:
          description: The name of the NAPALM driver to use when interacting with devices
          maxLength: 50
          title: NAPALM driver
          type: string
        rpc_client:
          enum:
            - juniper-junos
            - cisco-ios
            - opengear
          title: Legacy RPC client
          type: string
        slug:
          format: slug
          maxLength: 50
          minLength: 1
          pattern: ^[-a-zA-Z0-9_]+$
          title: Slug
          type: string
      required:
        - name
        - slug
      type: object
    WritablePowerOutlet:
      properties:
        connected_port:
          readOnly: true
          title: Connected port
          type: string
        device:
          title: Device
          type: integer
        id:
          readOnly: true
          title: ID
          type: integer
        name:
          maxLength: 50
          minLength: 1
          title: Name
          type: string
        tags:
          items:
            minLength: 1
            type: string
          type: array
      required:
        - device
        - name
      type: object
    WritablePowerOutletTemplate:
      properties:
        device_type:
          title: Device type
          type: integer
        id:
          readOnly: true
          title: ID
          type: integer
        name:
          maxLength: 50
          minLength: 1
          title: Name
          type: string
      required:
        - device_type
        - name
      type: object
    WritablePowerPort:
      properties:
        connection_status:
          enum:
            - false
            - true
          title: Connection status
          type: boolean
        device:
          title: Device
          type: integer
        id:
          readOnly: true
          title: ID
          type: integer
        name:
          maxLength: 50
          minLength: 1
          title: Name
          type: string
        power_outlet:
          title: Power outlet
          type: integer
        tags:
          items:
            minLength: 1
            type: string
          type: array
      required:
        - device
        - name
      type: object
    WritablePowerPortTemplate:
      properties:
        device_type:
          title: Device type
          type: integer
        id:
          readOnly: true
          title: ID
          type: integer
        name:
          maxLength: 50
          minLength: 1
          title: Name
          type: string
      required:
        - device_type
        - name
      type: object
    WritablePrefix:
      properties:
        created:
          format: date
          readOnly: true
          title: Created
          type: string
        custom_fields:
          title: Custom fields
          type: object
        description:
          maxLength: 100
          title: Description
          type: string
        family:
          readOnly: true
          title: Family
          type: integer
        id:
          readOnly: true
          title: ID
          type: integer
        is_pool:
          description: All IP addresses within this prefix are considered usable
          title: Is a pool
          type: boolean
        last_updated:
          format: date-time
          readOnly: true
          title: Last updated
          type: string
        prefix:
          description: IPv4 or IPv6 network with mask
          title: Prefix
          type: string
        role:
          description: The primary function of this prefix
          title: Role
          type: integer
        site:
          title: Site
          type: integer
        status:
          description: Operational status of this prefix
          enum:
            - 0
            - 1
            - 2
            - 3
          title: Status
          type: integer
        tags:
          items:
            minLength: 1
            type: string
          type: array
        tenant:
          title: Tenant
          type: integer
        vlan:
          title: VLAN
          type: integer
        vrf:
          title: VRF
          type: integer
      required:
        - prefix
      type: object
    WritableRack:
      properties:
        comments:
          title: Comments
          type: string
        created:
          format: date
          readOnly: true
          title: Created
          type: string
        custom_fields:
          title: Custom fields
          type: object
        desc_units:
          description: Units are numbered top-to-bottom
          title: Descending units
          type: boolean
        display_name:
          readOnly: true
          title: Display name
          type: string
        facility_id:
          maxLength: 50
          title: Facility ID
          type: string
        group:
          title: Group
          type: integer
        id:
          readOnly: true
          title: ID
          type: integer
        last_updated:
          format: date-time
          readOnly: true
          title: Last updated
          type: string
        name:
          maxLength: 50
          minLength: 1
          title: Name
          type: string
        role:
          title: Role
          type: integer
        serial:
          maxLength: 50
          title: Serial number
          type: string
        site:
          title: Site
          type: integer
        tags:
          items:
            minLength: 1
            type: string
          type: array
        tenant:
          title: Tenant
          type: integer
        type:
          enum:
            - 100
            - 200
            - 300
            - 1000
            - 1100
          title: Type
          type: integer
        u_height:
          maximum: 100
          minimum: 1
          title: Height (U)
          type: integer
        width:
          description: Rail-to-rail width
          enum:
            - 19
            - 23
          title: Width
          type: integer
      required:
        - name
        - site
      type: object
    WritableRackGroup:
      properties:
        id:
          readOnly: true
          title: ID
          type: integer
        name:
          maxLength: 50
          minLength: 1
          title: Name
          type: string
        site:
          title: Site
          type: integer
        slug:
          format: slug
          maxLength: 50
          minLength: 1
          pattern: ^[-a-zA-Z0-9_]+$
          title: Slug
          type: string
      required:
        - name
        - slug
        - site
      type: object
    WritableRackReservation:
      properties:
        created:
          format: date
          readOnly: true
          title: Created
          type: string
        description:
          maxLength: 100
          minLength: 1
          title: Description
          type: string
        id:
          readOnly: true
          title: ID
          type: integer
        rack:
          title: Rack
          type: integer
        tenant:
          title: Tenant
          type: integer
        units:
          items:
            maximum: 32767
            minimum: 0
            title: Units
            type: integer
          type: array
        user:
          title: User
          type: integer
      required:
        - rack
        - units
        - user
        - description
      type: object
    WritableRegion:
      properties:
        id:
          readOnly: true
          title: ID
          type: integer
        name:
          maxLength: 50
          minLength: 1
          title: Name
          type: string
        parent:
          title: Parent
          type: integer
        slug:
          format: slug
          maxLength: 50
          minLength: 1
          pattern: ^[-a-zA-Z0-9_]+$
          title: Slug
          type: string
      required:
        - name
        - slug
      type: object
    WritableSecret:
      properties:
        created:
          format: date
          readOnly: true
          title: Created
          type: string
        custom_fields:
          title: Custom fields
          type: object
        device:
          title: Device
          type: integer
        hash:
          minLength: 1
          readOnly: true
          title: Hash
          type: string
        id:
          readOnly: true
          title: ID
          type: integer
        last_updated:
          format: date-time
          readOnly: true
          title: Last updated
          type: string
        name:
          maxLength: 100
          title: Name
          type: string
        plaintext:
          minLength: 1
          title: Plaintext
          type: string
        role:
          title: Role
          type: integer
        tags:
          items:
            minLength: 1
            type: string
          type: array
      required:
        - device
        - role
        - plaintext
      type: object
    WritableService:
      properties:
        created:
          format: date
          readOnly: true
          title: Created
          type: string
        custom_fields:
          title: Custom fields
          type: object
        description:
          maxLength: 100
          title: Description
          type: string
        device:
          title: Device
          type: integer
        id:
          readOnly: true
          title: ID
          type: integer
        ipaddresses:
          items:
            title: IP addresses
            type: integer
          type: array
          uniqueItems: true
        last_updated:
          format: date-time
          readOnly: true
          title: Last updated
          type: string
        name:
          maxLength: 30
          minLength: 1
          title: Name
          type: string
        port:
          maximum: 65535
          minimum: 1
          title: Port number
          type: integer
        protocol:
          enum:
            - 6
            - 17
          title: Protocol
          type: integer
        virtual_machine:
          title: Virtual machine
          type: integer
      required:
        - name
        - port
        - protocol
      type: object
    WritableSite:
      properties:
        asn:
          maximum: 4294967295
          minimum: 1
          title: ASN
          type: integer
        comments:
          title: Comments
          type: string
        contact_email:
          format: email
          maxLength: 254
          title: Contact E-mail
          type: string
        contact_name:
          maxLength: 50
          title: Contact name
          type: string
        contact_phone:
          maxLength: 20
          title: Contact phone
          type: string
        count_circuits:
          readOnly: true
          title: Count circuits
          type: integer
        count_devices:
          readOnly: true
          title: Count devices
          type: integer
        count_prefixes:
          readOnly: true
          title: Count prefixes
          type: integer
        count_racks:
          readOnly: true
          title: Count racks
          type: integer
        count_vlans:
          readOnly: true
          title: Count vlans
          type: integer
        created:
          format: date
          readOnly: true
          title: Created
          type: string
        custom_fields:
          title: Custom fields
          type: object
        description:
          maxLength: 100
          title: Description
          type: string
        facility:
          maxLength: 50
          title: Facility
          type: string
        id:
          readOnly: true
          title: ID
          type: integer
        last_updated:
          format: date-time
          readOnly: true
          title: Last updated
          type: string
        latitude:
          format: decimal
          title: Latitude
          type: string
        longitude:
          format: decimal
          title: Longitude
          type: string
        name:
          maxLength: 50
          minLength: 1
          title: Name
          type: string
        physical_address:
          maxLength: 200
          title: Physical address
          type: string
        region:
          title: Region
          type: integer
        shipping_address:
          maxLength: 200
          title: Shipping address
          type: string
        slug:
          format: slug
          maxLength: 50
          minLength: 1
          pattern: ^[-a-zA-Z0-9_]+$
          title: Slug
          type: string
        status:
          enum:
            - 1
            - 2
            - 4
          title: Status
          type: integer
        tags:
          items:
            minLength: 1
            type: string
          type: array
        tenant:
          title: Tenant
          type: integer
        time_zone:
          title: Time zone
          type: string
      required:
        - name
        - slug
      type: object
    WritableTenant:
      properties:
        comments:
          title: Comments
          type: string
        created:
          format: date
          readOnly: true
          title: Created
          type: string
        custom_fields:
          title: Custom fields
          type: object
        description:
          description: Long-form name (optional)
          maxLength: 100
          title: Description
          type: string
        group:
          title: Group
          type: integer
        id:
          readOnly: true
          title: ID
          type: integer
        last_updated:
          format: date-time
          readOnly: true
          title: Last updated
          type: string
        name:
          maxLength: 30
          minLength: 1
          title: Name
          type: string
        slug:
          format: slug
          maxLength: 50
          minLength: 1
          pattern: ^[-a-zA-Z0-9_]+$
          title: Slug
          type: string
        tags:
          items:
            minLength: 1
            type: string
          type: array
      required:
        - name
        - slug
      type: object
    WritableTopologyMap:
      properties:
        description:
          maxLength: 100
          title: Description
          type: string
        device_patterns:
          description: Identify devices to include in the diagram using regular expressions, one per line. Each line will result in a new tier of the drawing. Separate multiple regexes within a line using semicolons. Devices will be rendered in the order they are defined.
          minLength: 1
          title: Device patterns
          type: string
        id:
          readOnly: true
          title: ID
          type: integer
        name:
          maxLength: 50
          minLength: 1
          title: Name
          type: string
        site:
          title: Site
          type: integer
        slug:
          format: slug
          maxLength: 50
          minLength: 1
          pattern: ^[-a-zA-Z0-9_]+$
          title: Slug
          type: string
      required:
        - name
        - slug
        - device_patterns
      type: object
    WritableVLAN:
      properties:
        created:
          format: date
          readOnly: true
          title: Created
          type: string
        custom_fields:
          title: Custom fields
          type: object
        description:
          maxLength: 100
          title: Description
          type: string
        display_name:
          readOnly: true
          title: Display name
          type: string
        group:
          title: Group
          type: integer
        id:
          readOnly: true
          title: ID
          type: integer
        last_updated:
          format: date-time
          readOnly: true
          title: Last updated
          type: string
        name:
          maxLength: 64
          minLength: 1
          title: Name
          type: string
        role:
          title: Role
          type: integer
        site:
          title: Site
          type: integer
        status:
          enum:
            - 1
            - 2
            - 3
          title: Status
          type: integer
        tags:
          items:
            minLength: 1
            type: string
          type: array
        tenant:
          title: Tenant
          type: integer
        vid:
          maximum: 4094
          minimum: 1
          title: ID
          type: integer
      required:
        - vid
        - name
      type: object
    WritableVLANGroup:
      properties:
        id:
          readOnly: true
          title: ID
          type: integer
        name:
          maxLength: 50
          minLength: 1
          title: Name
          type: string
        site:
          title: Site
          type: integer
        slug:
          format: slug
          maxLength: 50
          minLength: 1
          pattern: ^[-a-zA-Z0-9_]+$
          title: Slug
          type: string
      required:
        - name
        - slug
      type: object
    WritableVRF:
      properties:
        created:
          format: date
          readOnly: true
          title: Created
          type: string
        custom_fields:
          title: Custom fields
          type: object
        description:
          maxLength: 100
          title: Description
          type: string
        display_name:
          readOnly: true
          title: Display name
          type: string
        enforce_unique:
          description: Prevent duplicate prefixes/IP addresses within this VRF
          title: Enforce unique space
          type: boolean
        id:
          readOnly: true
          title: ID
          type: integer
        last_updated:
          format: date-time
          readOnly: true
          title: Last updated
          type: string
        name:
          maxLength: 50
          minLength: 1
          title: Name
          type: string
        rd:
          maxLength: 21
          minLength: 1
          title: Route distinguisher
          type: string
        tags:
          items:
            minLength: 1
            type: string
          type: array
        tenant:
          title: Tenant
          type: integer
      required:
        - name
        - rd
      type: object
    WritableVirtualChassis:
      properties:
        domain:
          maxLength: 30
          title: Domain
          type: string
        id:
          readOnly: true
          title: ID
          type: integer
        master:
          title: Master
          type: integer
        tags:
          items:
            minLength: 1
            type: string
          type: array
      required:
        - master
      type: object
    WritableVirtualMachine:
      properties:
        cluster:
          title: Cluster
          type: integer
        comments:
          title: Comments
          type: string
        created:
          format: date
          readOnly: true
          title: Created
          type: string
        custom_fields:
          title: Custom fields
          type: object
        disk:
          maximum: 2147483647
          minimum: 0
          title: Disk (GB)
          type: integer
        id:
          readOnly: true
          title: ID
          type: integer
        last_updated:
          format: date-time
          readOnly: true
          title: Last updated
          type: string
        local_context_data:
          title: Local context data
          type: string
        memory:
          maximum: 2147483647
          minimum: 0
          title: Memory (MB)
          type: integer
        name:
          maxLength: 64
          minLength: 1
          title: Name
          type: string
        platform:
          title: Platform
          type: integer
        primary_ip:
          readOnly: true
          title: Primary ip
          type: string
        primary_ip4:
          title: Primary IPv4
          type: integer
        primary_ip6:
          title: Primary IPv6
          type: integer
        role:
          title: Role
          type: integer
        site:
          readOnly: true
          title: Site
          type: string
        status:
          enum:
            - 1
            - 0
            - 3
          title: Status
          type: integer
        tags:
          items:
            minLength: 1
            type: string
          type: array
        tenant:
          title: Tenant
          type: integer
        vcpus:
          maximum: 32767
          minimum: 0
          title: VCPUs
          type: integer
      required:
        - name
        - cluster
      type: object
  securitySchemes:
    Bearer:
      in: header
      name: Authorization
      type: apiKey
