> ## Documentation Index
> Fetch the complete documentation index at: https://docs.celum.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Update hybrid subnet

> Hybrid subnets — a proxy-ARP appliance on a source VLAN answers for the

**Authorisation:** `cilium:Apply` on `krn:celum:supervisor:{name}:cilium:*`.

**Assistant tool:** `update_hybrid_subnet`



## OpenAPI

````yaml /openapi.json put /api/supervisors/{name}/networking/hybrid-subnets/{subnet}
openapi: 3.0.3
info:
  description: >-
    The HTTP surface of the Celum backend, generated from its own router and

    authorisation map — so this list cannot drift from the server that serves
    it.


    **Every operation states the IAM action and resource it is authorised

    against.** That pairing is the part worth reading: a policy naming the right

    action against the wrong resource matches nothing, and fails silently.


    Request and response bodies come from the Go types the handlers send and

    decode. Where those types do not determine the shape (an interface, a

    map[string]any, an unknown custom encoding), the operation says so in

    `x-celum-schema-gap` instead of carrying a guessed schema.
  title: Celum API
  version: 1.0.0
servers:
  - description: Your Celum deployment
    url: https://{host}
    variables:
      host:
        default: celum.example.com
        description: The host your Celum backend is served from
security:
  - sessionCookie: []
  - bearerToken: []
tags:
  - description: AI assistant & MCP
    name: ai-assistant
  - description: Clusters & CAPI lifecycle
    name: capi
  - description: Certificates & external secrets
    name: certs
  - description: GitOps & apps
    name: gitops
  - description: IAM, audit & auth
    name: iam
  - description: Image library
    name: images
  - description: Infrastructure & supervisors
    name: infrastructure
  - description: Networking
    name: networking
  - description: Observability & platform health
    name: observability
  - description: Platform onboarding & settings
    name: platform-settings
  - description: Projects
    name: projects
  - description: Registries & mirroring
    name: registries
  - description: Security & flows
    name: security
  - description: Storage
    name: storage
  - description: Templates & addons
    name: templates
  - description: Virtualization platform (KubeVirt/CDI)
    name: virt
  - description: Virtual machines
    name: vms
  - description: Workloads & topology
    name: workloads
paths:
  /api/supervisors/{name}/networking/hybrid-subnets/{subnet}:
    put:
      tags:
        - networking
      summary: Update hybrid subnet
      description: >-
        Hybrid subnets — a proxy-ARP appliance on a source VLAN answers for the


        **Authorisation:** `cilium:Apply` on
        `krn:celum:supervisor:{name}:cilium:*`.


        **Assistant tool:** `update_hybrid_subnet`
      operationId: put_supervisors_byName_networking_hybridSubnets_bySubnet
      parameters:
        - description: >-
            The supervisor's name, as registered under Administration →
            Supervisors.
          in: path
          name: name
          required: true
          schema:
            type: string
        - description: ''
          in: path
          name: subnet
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/api.hybridSubnetRequest.Input'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/api.hybridSubnetView'
          description: Success.
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/api.hybridSubnetView'
          description: Created.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/api.ErrorBody'
          description: Bad Request.
        '401':
          description: Not authenticated — no valid session cookie or API token.
        '403':
          description: >-
            Authenticated, but no policy allows this action on this resource.
            The body carries the action and resource that were evaluated.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/api.ErrorBody'
          description: Not Found.
        '409':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/api.ErrorBody'
          description: Conflict.
        '502':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/api.ErrorBody'
          description: Bad Gateway.
        '503':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/api.ErrorBody'
          description: Service Unavailable.
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/api.ErrorBody'
          description: A status the code does not fix.
components:
  schemas:
    api.hybridSubnetRequest.Input:
      properties:
        appliances:
          items:
            $ref: '#/components/schemas/k8s.HybridSubnetAppliance.Input'
          nullable: true
          type: array
        cidr:
          type: string
        gateway:
          type: string
        portGroup:
          type: string
        routers:
          items:
            type: string
          nullable: true
          type: array
        vlan:
          format: int64
          nullable: true
          type: integer
      type: object
      x-go-type: backend/internal/api.hybridSubnetRequest
    api.hybridSubnetView:
      properties:
        addresses:
          items:
            $ref: '#/components/schemas/api.hybridSubnetAddress'
          nullable: true
          type: array
        adoptable:
          type: boolean
        appliances:
          items:
            $ref: '#/components/schemas/api.hybridSubnetApplianceView'
          nullable: true
          type: array
        cidr:
          type: string
        created:
          format: date-time
          type: string
        gateway:
          type: string
        name:
          type: string
        portGroup:
          type: string
        routers:
          items:
            type: string
          nullable: true
          type: array
        vlan:
          format: int64
          type: integer
      required:
        - addresses
        - adoptable
        - appliances
        - cidr
        - created
        - gateway
        - name
        - routers
      type: object
      x-go-type: backend/internal/api.hybridSubnetView
    api.ErrorBody:
      properties:
        error:
          type: string
      required:
        - error
      type: object
    k8s.HybridSubnetAppliance.Input:
      properties:
        ipv4:
          type: string
        name:
          type: string
      type: object
      x-go-type: backend/internal/k8s.HybridSubnetAppliance
    api.hybridSubnetAddress:
      properties:
        conflicts:
          items:
            $ref: '#/components/schemas/api.hybridSubnetAddressConflict'
          type: array
        ipv4:
          type: string
        pendingOn:
          items:
            type: string
          type: array
        pool:
          type: string
        servedBy:
          items:
            type: string
          nullable: true
          type: array
        vm:
          type: string
      required:
        - ipv4
        - pool
        - servedBy
      type: object
      x-go-type: backend/internal/api.hybridSubnetAddress
    api.hybridSubnetApplianceView:
      properties:
        health:
          type: string
        ipv4:
          type: string
        name:
          type: string
        status:
          $ref: '#/components/schemas/k8s.HybridSubnetApplianceStatus'
      required:
        - health
        - ipv4
        - name
      type: object
      x-go-type: backend/internal/api.hybridSubnetApplianceView
    api.hybridSubnetAddressConflict:
      properties:
        appliance:
          type: string
        mac:
          type: string
        since:
          type: string
      required:
        - appliance
        - mac
      type: object
      x-go-type: backend/internal/api.hybridSubnetAddressConflict
    k8s.HybridSubnetApplianceStatus:
      properties:
        conflicts:
          items:
            $ref: '#/components/schemas/k8s.HybridSubnetConflict'
          type: array
        interface:
          type: string
        lastReport:
          type: string
        mac:
          type: string
        name:
          type: string
        pending:
          items:
            type: string
          type: array
        problems:
          items:
            type: string
          type: array
        serving:
          items:
            type: string
          type: array
        version:
          type: string
      required:
        - name
      type: object
      x-go-type: backend/internal/k8s.HybridSubnetApplianceStatus
    k8s.HybridSubnetConflict:
      properties:
        ipv4:
          type: string
        mac:
          type: string
        since:
          type: string
      required:
        - ipv4
        - mac
      type: object
      x-go-type: backend/internal/k8s.HybridSubnetConflict
  securitySchemes:
    sessionCookie:
      description: >-
        The session cookie issued by the OIDC sign-in flow. This is what a
        browser uses.
      in: cookie
      name: k8s-gate-session
      type: apiKey
    bearerToken:
      description: >-
        An API token, minted from your own identity page. A token carries the
        IAM groups you held **when it was minted**, and cannot bypass deletion
        approval — except for guest clusters inside a project that same token
        created.
      scheme: bearer
      type: http

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.