> ## 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.

# Get bgpstate

> Single-fetch aggregator: candidates + operator configs + bridge-node

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

**Assistant tool:** `get_bgp_state`



## OpenAPI

````yaml /openapi.json get /api/supervisors/{name}/bgp/state
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}/bgp/state:
    get:
      tags:
        - networking
      summary: Get bgpstate
      description: >-
        Single-fetch aggregator: candidates + operator configs + bridge-node


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


        **Assistant tool:** `get_bgp_state`
      operationId: get_supervisors_byName_bgp_state
      parameters:
        - description: >-
            The supervisor's name, as registered under Administration →
            Supervisors.
          in: path
          name: name
          required: true
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/api.bgpStateResponse'
          description: Success.
        '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.
components:
  schemas:
    api.bgpStateResponse:
      properties:
        engine:
          type: string
        nodes:
          items:
            $ref: '#/components/schemas/api.bgpNodeState'
          nullable: true
          type: array
      required:
        - engine
        - nodes
      type: object
      x-go-type: backend/internal/api.bgpStateResponse
    api.bgpNodeState:
      properties:
        advertised:
          items:
            $ref: '#/components/schemas/api.bgpAdvRoute'
          nullable: true
          type: array
        error:
          type: string
        localAS:
          format: int64
          type: integer
        node:
          type: string
        policy:
          description: Any JSON value.
        prefixLists:
          additionalProperties:
            $ref: '#/components/schemas/api.bgpPrefixList'
          type: object
        received:
          items:
            $ref: '#/components/schemas/api.bgpRecvRoute'
          nullable: true
          type: array
        routeMaps:
          additionalProperties:
            $ref: '#/components/schemas/api.bgpRouteMap'
          type: object
        routerId:
          type: string
        sessions:
          items:
            $ref: '#/components/schemas/api.bgpSession'
          nullable: true
          type: array
      required:
        - advertised
        - node
        - received
        - sessions
      type: object
      x-go-type: backend/internal/api.bgpNodeState
    api.bgpAdvRoute:
      properties:
        asPath:
          type: string
        best:
          type: boolean
        nextHop:
          type: string
        origin:
          type: string
        originated:
          type: boolean
        prefix:
          type: string
        weight:
          format: int64
          type: integer
      required:
        - best
        - originated
        - prefix
        - weight
      type: object
      x-go-type: backend/internal/api.bgpAdvRoute
    api.bgpPrefixList:
      properties:
        entries:
          items:
            $ref: '#/components/schemas/api.bgpPrefixListEntry'
          nullable: true
          type: array
        name:
          type: string
      required:
        - entries
        - name
      type: object
      x-go-type: backend/internal/api.bgpPrefixList
    api.bgpRecvRoute:
      properties:
        asPath:
          type: string
        nextHop:
          type: string
        origin:
          type: string
        peer:
          type: string
        prefix:
          type: string
      required:
        - prefix
      type: object
      x-go-type: backend/internal/api.bgpRecvRoute
    api.bgpRouteMap:
      properties:
        name:
          type: string
        rules:
          items:
            $ref: '#/components/schemas/api.bgpRouteMapRule'
          nullable: true
          type: array
      required:
        - name
        - rules
      type: object
      x-go-type: backend/internal/api.bgpRouteMap
    api.bgpSession:
      properties:
        accepted:
          format: int64
          type: integer
        bfd:
          type: string
        bfdDetail:
          $ref: '#/components/schemas/api.bgpBFDDetail'
        capAddPath:
          type: boolean
        capEnhancedRR:
          type: boolean
        capFourByteAS:
          type: boolean
        capGracefulRestart:
          type: boolean
        capLongLivedGR:
          type: boolean
        capRouteRefresh:
          type: boolean
        connectRetryMs:
          format: int32
          minimum: 0
          type: integer
        estimatedRttMs:
          format: int32
          minimum: 0
          type: integer
        externalHops:
          format: int64
          type: integer
        grLocalMode:
          type: string
        grNBit:
          type: boolean
        grRBit:
          type: boolean
        grRemoteMode:
          type: string
        grRestartTimeS:
          format: int32
          minimum: 0
          type: integer
        grStalePathTimeS:
          format: int32
          minimum: 0
          type: integer
        holdConfiguredMs:
          format: int32
          minimum: 0
          type: integer
        holdNegotiatedMs:
          format: int32
          minimum: 0
          type: integer
        hostname:
          type: string
        keepaliveConfiguredMs:
          format: int32
          minimum: 0
          type: integer
        keepaliveNegotiatedMs:
          format: int32
          minimum: 0
          type: integer
        lastResetAgoMs:
          format: int64
          minimum: 0
          type: integer
        lastResetCode:
          format: int64
          type: integer
        lastResetReason:
          type: string
        localAddr:
          type: string
        msgRcvd:
          format: int64
          type: integer
        msgSent:
          format: int64
          type: integer
        msgs:
          $ref: '#/components/schemas/api.bgpMessageStats'
        multihop:
          type: boolean
        peer:
          type: string
        pfxRcvd:
          format: int64
          type: integer
        pfxSnt:
          format: int64
          type: integer
        remoteAS:
          format: int64
          type: integer
        remoteAddr:
          type: string
        routeMapIn:
          type: string
        routeMapOut:
          type: string
        softwareVersion:
          type: string
        state:
          type: string
        tcpMssSynced:
          type: boolean
        uptime:
          type: string
      required:
        - accepted
        - msgRcvd
        - msgSent
        - peer
        - pfxRcvd
        - pfxSnt
        - remoteAS
        - state
      type: object
      x-go-type: backend/internal/api.bgpSession
    api.bgpPrefixListEntry:
      properties:
        rule:
          type: string
        seq:
          format: int64
          type: integer
        type:
          type: string
      required:
        - rule
        - seq
        - type
      type: object
      x-go-type: backend/internal/api.bgpPrefixListEntry
    api.bgpRouteMapRule:
      properties:
        invoked:
          format: int64
          type: integer
        matchClauses:
          items:
            type: string
          type: array
        seq:
          format: int64
          type: integer
        setClauses:
          items:
            type: string
          type: array
        type:
          type: string
      required:
        - invoked
        - seq
        - type
      type: object
      x-go-type: backend/internal/api.bgpRouteMapRule
    api.bgpBFDDetail:
      properties:
        diagnostic:
          type: string
        echoReceiveLocalMs:
          format: int32
          minimum: 0
          type: integer
        echoReceiveRemoteMs:
          format: int32
          minimum: 0
          type: integer
        echoTransmitLocalMs:
          format: int32
          minimum: 0
          type: integer
        echoTransmitRemoteMs:
          format: int32
          minimum: 0
          type: integer
        multihop:
          type: boolean
        multiplierLocal:
          format: int32
          minimum: 0
          type: integer
        multiplierRemote:
          format: int32
          minimum: 0
          type: integer
        passiveMode:
          type: boolean
        receiveLocalMs:
          format: int32
          minimum: 0
          type: integer
        receiveRemoteMs:
          format: int32
          minimum: 0
          type: integer
        remoteDiagnostic:
          type: string
        rttAvgUs:
          format: int32
          minimum: 0
          type: integer
        rttMaxUs:
          format: int32
          minimum: 0
          type: integer
        rttMinUs:
          format: int32
          minimum: 0
          type: integer
        status:
          type: string
        transmitLocalMs:
          format: int32
          minimum: 0
          type: integer
        transmitRemoteMs:
          format: int32
          minimum: 0
          type: integer
        uptime:
          type: string
      required:
        - status
      type: object
      x-go-type: backend/internal/api.bgpBFDDetail
    api.bgpMessageStats:
      properties:
        keepalivesRecv:
          format: int64
          type: integer
        keepalivesSent:
          format: int64
          type: integer
        notifRecv:
          format: int64
          type: integer
        notifSent:
          format: int64
          type: integer
        opensRecv:
          format: int64
          type: integer
        opensSent:
          format: int64
          type: integer
        routeRefreshRecv:
          format: int64
          type: integer
        routeRefreshSent:
          format: int64
          type: integer
        totalRecv:
          format: int64
          type: integer
        totalSent:
          format: int64
          type: integer
        updatesRecv:
          format: int64
          type: integer
        updatesSent:
          format: int64
          type: integer
      required:
        - keepalivesRecv
        - keepalivesSent
        - notifRecv
        - notifSent
        - opensRecv
        - opensSent
        - routeRefreshRecv
        - routeRefreshSent
        - totalRecv
        - totalSent
        - updatesRecv
        - updatesSent
      type: object
      x-go-type: backend/internal/api.bgpMessageStats
  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.