Graphiant Monitoring API

The Monitoring API from Graphiant — 23 operation(s) for monitoring.

Operations 23

POST /v2/monitoring/bfd
POST /v2/monitoring/bgp
POST /v2/monitoring/circuits/bandwidth
POST /v2/monitoring/circuits/summary
POST /v2/monitoring/circuits/utilization
GET /v2/monitoring/extranet/service-status/details
GET /v2/monitoring/extranet/service-status
POST /v2/monitoring/extranet/log-details
GET /v2/monitoring/extranet/edge-status
GET /v2/monitoring/extranet/status-details
GET /v2/monitoring/extranet/site-status
POST /v2/monitoring/ipsec
POST /v2/monitoring/ike-error-history
POST /v2/monitoring/interface
GET /v2/monitoring/macsec/{deviceId}/status
POST /v2/monitoring/policy
POST /v2/monitoring/queue-instant
POST /v2/monitoring/segment-route-counts
POST /v2/monitoring/site-circuits/bandwidth/{siteId}
POST /v2/monitoring/site-twamp/{siteId}
POST /v2/monitoring/system
POST /v2/monitoring/twamp
POST /v2/monitoring/circuits/visualization

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/graphiant-monitoring-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

graphiant-monitoring-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Graphiant Monitoring API
  version: 1.0.0
  description: Graphiant API documentation.
servers:
- url: https://api.graphiant.com
security:
- jwtAuth: []
tags:
- name: Monitoring
paths:
  /v2/monitoring/bfd:
    post:
      security:
      - jwtAuth: []
      parameters:
      - in: header
        name: Authorization
        required: true
        schema:
          type: string
        description: 'Bearer token. Format: Bearer <your_token_here>'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/v2MonitoringBfdPostRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v2MonitoringBfdPostResponse'
      tags:
      - Monitoring
  /v2/monitoring/bgp:
    post:
      security:
      - jwtAuth: []
      parameters:
      - in: header
        name: Authorization
        required: true
        schema:
          type: string
        description: 'Bearer token. Format: Bearer <your_token_here>'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/v2MonitoringBgpPostRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v2MonitoringBgpPostResponse'
      tags:
      - Monitoring
  /v2/monitoring/circuits/bandwidth:
    post:
      security:
      - jwtAuth: []
      parameters:
      - in: header
        name: Authorization
        required: true
        schema:
          type: string
        description: 'Bearer token. Format: Bearer <your_token_here>'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/v2MonitoringCircuitsBandwidthPostRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v2MonitoringCircuitsBandwidthPostResponse'
      tags:
      - Monitoring
  /v2/monitoring/circuits/summary:
    post:
      security:
      - jwtAuth: []
      parameters:
      - in: header
        name: Authorization
        required: true
        schema:
          type: string
        description: 'Bearer token. Format: Bearer <your_token_here>'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/v2MonitoringCircuitsSummaryPostRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v2MonitoringCircuitsSummaryPostResponse'
      tags:
      - Monitoring
  /v2/monitoring/circuits/utilization:
    post:
      security:
      - jwtAuth: []
      parameters:
      - in: header
        name: Authorization
        required: true
        schema:
          type: string
        description: 'Bearer token. Format: Bearer <your_token_here>'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/v2MonitoringCircuitsUtilizationPostRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v2MonitoringCircuitsUtilizationPostResponse'
      tags:
      - Monitoring
  /v2/monitoring/extranet/service-status/details:
    get:
      security:
      - jwtAuth: []
      parameters:
      - in: header
        name: Authorization
        required: true
        schema:
          type: string
        description: 'Bearer token. Format: Bearer <your_token_here>'
      - name: id
        in: query
        description: the id associated with an entity - consumer_id for consumer, and service_id for the producer/service
        required: true
        schema:
          type: integer
          format: int64
          example: 1234567891011
        example: 1
      - name: isProvider
        in: query
        description: whether the entity is a provider or consumer
        required: true
        schema:
          type: boolean
          example: true
        example: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v2MonitoringExtranetServiceStatusDetailsGetResponse'
      description: Returns a list of Site-to-ServerIPAddress statuses for a particular producer of consumer. Each element contains a Site object (with site information) and a mapping of Server Ip addresses to the corresponding Reachability status.Healthy status indicates all the edges/gateways within the Site can reach all the Server IP addresses.Impaired status indicates that some of the edges/gateways within the Site can reach only a subset of Server IP addresses.Down status indicates that none of the edges/gateways within the Site can reach any of the Server IP addresses.
      tags:
      - Monitoring
  /v2/monitoring/extranet/service-status:
    get:
      security:
      - jwtAuth: []
      parameters:
      - in: header
        name: Authorization
        required: true
        schema:
          type: string
        description: 'Bearer token. Format: Bearer <your_token_here>'
      - name: id
        in: query
        description: the id associated with an entity - consumer_id for consumer, and service_id for the producer/service
        required: true
        schema:
          type: integer
          format: int64
          example: 1234567891011
        example: 1
      - name: isProvider
        in: query
        description: whether the entity is a provider or consumer
        required: true
        schema:
          type: boolean
          example: true
        example: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v2MonitoringExtranetServiceStatusGetResponse'
      description: Returns a list of Status objects indicating the availability/reachability of all the Server IP addresses configured to the service. Healthy status indicates the Server IP address is reachable from all provider sites. Impaired status indicates the Server IP address is reachable from a subset of provider sites. Down status indicates the Server IP address can't be reached from any of the provider sites.
      tags:
      - Monitoring
  /v2/monitoring/extranet/log-details:
    post:
      security:
      - jwtAuth: []
      parameters:
      - in: header
        name: Authorization
        required: true
        schema:
          type: string
        description: 'Bearer token. Format: Bearer <your_token_here>'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/v2MonitoringExtranetLogDetailsPostRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v2MonitoringExtranetLogDetailsPostResponse'
      description: Returns connectivity logs for service monitoring. Includes timestamps for when connectivity from an edge/gateway to a Server IP address was lost or regained.
      tags:
      - Monitoring
  /v2/monitoring/extranet/edge-status:
    get:
      security:
      - jwtAuth: []
      parameters:
      - in: header
        name: Authorization
        required: true
        schema:
          type: string
        description: 'Bearer token. Format: Bearer <your_token_here>'
      - name: id
        in: query
        description: the id associated with an entity - consumer_id for consumer, and service_id for the producer/service
        required: true
        schema:
          type: integer
          format: int64
          example: 1234567891011
        example: 1
      - name: isProvider
        in: query
        description: whether the entity is a provider or consumer
        required: true
        schema:
          type: boolean
          example: true
        example: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v2MonitoringExtranetEdgeStatusGetResponse'
      description: Returns connectivity status for individual edges/gateways in extranet/ b2b application service monitoring. Provides granular view of which specific edges can reach server IP addresses. Shows per-edge connectivity status including healthy, impaired, or down states. Helps identify specific edge-level connectivity issues within sites.
      tags:
      - Monitoring
  /v2/monitoring/extranet/status-details:
    get:
      security:
      - jwtAuth: []
      parameters:
      - in: header
        name: Authorization
        required: true
        schema:
          type: string
        description: 'Bearer token. Format: Bearer <your_token_here>'
      - name: id
        in: query
        description: the id associated with an entity - consumer_id for consumer, and service_id for the producer/service
        required: true
        schema:
          type: integer
          format: int64
          example: 1234567891011
        example: 1
      - name: isProvider
        in: query
        description: whether the entity is a provider or consumer
        required: true
        schema:
          type: boolean
          example: true
        example: true
      - name: serverAddress
        in: query
        description: the address of the server
        required: true
        schema:
          type: string
          example: example string
        example: 192.168.1.1
      - name: siteId
        in: query
        description: the id of the site
        required: true
        schema:
          type: integer
          format: int64
          example: 1234567891011
        example: 1
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v2MonitoringExtranetStatusDetailsGetResponse'
      description: Detailed view of the reachability of the Server IP addresses from the selected (producer or consumer) Site.Lists Site-to-ServerIPAddress statuses for the selected SiteLists Edge-to-ServerIPAddress statuses for All Edges within the selected Site.Returns physical Location of the SiteReturns Region of the Site.
      tags:
      - Monitoring
  /v2/monitoring/extranet/site-status:
    get:
      security:
      - jwtAuth: []
      parameters:
      - in: header
        name: Authorization
        required: true
        schema:
          type: string
        description: 'Bearer token. Format: Bearer <your_token_here>'
      - name: id
        in: query
        description: the id associated with an entity - consumer_id for consumer, and service_id for the producer/service
        required: true
        schema:
          type: integer
          format: int64
          example: 1234567891011
        example: 1
      - name: isProvider
        in: query
        description: whether the entity is a provider or consumer
        required: true
        schema:
          type: boolean
          example: true
        example: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v2MonitoringExtranetSiteStatusGetResponse'
      description: Returns a list of Statuses objects indicating the availability/reachability of the Server IP addresses from the Sites configured to the Provider or Consumer of the service.Healthy status indicates the Site can reach all the Server IP Addresses.Impaired status indicates that the Site can reach only a subset of Server IP addresses.Down status indicates the Site can reach none of the Server IP addresses.
      tags:
      - Monitoring
  /v2/monitoring/ipsec:
    post:
      security:
      - jwtAuth: []
      parameters:
      - in: header
        name: Authorization
        required: true
        schema:
          type: string
        description: 'Bearer token. Format: Bearer <your_token_here>'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/v2MonitoringIpsecPostRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v2MonitoringIpsecPostResponse'
      tags:
      - Monitoring
  /v2/monitoring/ike-error-history:
    post:
      security:
      - jwtAuth: []
      parameters:
      - in: header
        name: Authorization
        required: true
        schema:
          type: string
        description: 'Bearer token. Format: Bearer <your_token_here>'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/v2MonitoringIkeErrorHistoryPostRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v2MonitoringIkeErrorHistoryPostResponse'
      tags:
      - Monitoring
  /v2/monitoring/interface:
    post:
      security:
      - jwtAuth: []
      parameters:
      - in: header
        name: Authorization
        required: true
        schema:
          type: string
        description: 'Bearer token. Format: Bearer <your_token_here>'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/v2MonitoringInterfacePostRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v2MonitoringInterfacePostResponse'
      tags:
      - Monitoring
  /v2/monitoring/macsec/{deviceId}/status:
    get:
      security:
      - jwtAuth: []
      parameters:
      - in: header
        name: Authorization
        required: true
        schema:
          type: string
        description: 'Bearer token. Format: Bearer <your_token_here>'
      - name: deviceId
        in: path
        required: true
        description: ''
        schema:
          type: integer
          format: int64
          example: 1234567891011
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v2MonitoringMacsecDeviceIdStatusGetResponse'
      description: Returns the MACsec status for all interfaces on a device
      tags:
      - Monitoring
  /v2/monitoring/policy:
    post:
      security:
      - jwtAuth: []
      parameters:
      - in: header
        name: Authorization
        required: true
        schema:
          type: string
        description: 'Bearer token. Format: Bearer <your_token_here>'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/v2MonitoringPolicyPostRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v2MonitoringPolicyPostResponse'
      tags:
      - Monitoring
  /v2/monitoring/queue-instant:
    post:
      security:
      - jwtAuth: []
      parameters:
      - in: header
        name: Authorization
        required: true
        schema:
          type: string
        description: 'Bearer token. Format: Bearer <your_token_here>'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/v2MonitoringQueueInstantPostRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v2MonitoringQueueInstantPostResponse'
      tags:
      - Monitoring
  /v2/monitoring/segment-route-counts:
    post:
      security:
      - jwtAuth: []
      parameters:
      - in: header
        name: Authorization
        required: true
        schema:
          type: string
        description: 'Bearer token. Format: Bearer <your_token_here>'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/v2MonitoringSegmentRouteCountsPostRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v2MonitoringSegmentRouteCountsPostResponse'
      tags:
      - Monitoring
  /v2/monitoring/site-circuits/bandwidth/{siteId}:
    post:
      security:
      - jwtAuth: []
      parameters:
      - in: header
        name: Authorization
        required: true
        schema:
          type: string
        description: 'Bearer token. Format: Bearer <your_token_here>'
      - name: siteId
        in: path
        required: true
        description: ''
        schema:
          type: integer
          format: int64
          example: 12345678910
          minimum: 0
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/v2MonitoringSiteCircuitsBandwidthSiteIdPostRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v2MonitoringSiteCircuitsBandwidthSiteIdPostResponse'
      tags:
      - Monitoring
  /v2/monitoring/site-twamp/{siteId}:
    post:
      security:
      - jwtAuth: []
      parameters:
      - in: header
        name: Authorization
        required: true
        schema:
          type: string
        description: 'Bearer token. Format: Bearer <your_token_here>'
      - name: siteId
        in: path
        required: true
        description: ''
        schema:
          type: integer
          format: int64
          example: 12345678910
          minimum: 0
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/v2MonitoringSiteTwampSiteIdPostRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v2MonitoringSiteTwampSiteIdPostResponse'
      tags:
      - Monitoring
  /v2/monitoring/system:
    post:
      security:
      - jwtAuth: []
      parameters:
      - in: header
        name: Authorization
        required: true
        schema:
          type: string
        description: 'Bearer token. Format: Bearer <your_token_here>'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/v2MonitoringSystemPostRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v2MonitoringSystemPostResponse'
      tags:
      - Monitoring
  /v2/monitoring/twamp:
    post:
      security:
      - jwtAuth: []
      parameters:
      - in: header
        name: Authorization
        required: true
        schema:
          type: string
        description: 'Bearer token. Format: Bearer <your_token_here>'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/v2MonitoringTwampPostRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v2MonitoringTwampPostResponse'
      tags:
      - Monitoring
  /v2/monitoring/circuits/visualization:
    post:
      security:
      - jwtAuth: []
      parameters:
      - in: header
        name: Authorization
        required: true
        schema:
          type: string
        description: 'Bearer token. Format: Bearer <your_token_here>'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/v2MonitoringCircuitsVisualizationPostRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v2MonitoringCircuitsVisualizationPostResponse'
      tags:
      - Monitoring
components:
  schemas:
    v2MonitoringMacsecDeviceIdStatusGetResponseMaCsecStatus:
      type: object
      properties:
        interfaceName:
          type: string
          example: example string
        status:
          type: string
          example: ENUM_VALUE
      additionalProperties: false
    v2MonitoringIpsecPostResponse:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/v2MonitoringIpsecPostResponseData'
      additionalProperties: false
    statsmonV2IpSecStatsSelector:
      type: object
      properties:
        peerGdi:
          type: string
          example: example string
        type:
          type: string
          example: ENUM_VALUE
      additionalProperties: false
    v2MonitoringCircuitsBandwidthPostResponseData:
      type: object
      properties:
        carrier:
          type: string
          example: example string
        deviceId:
          type: integer
          format: int64
          example: 12345678910
          minimum: 0
        dlBwKbpsSamples:
          type: array
          items:
            $ref: '#/components/schemas/statsmonV2StatsSample'
        selector:
          $ref: '#/components/schemas/statsmonV2CircuitBandwidthStatsSelector'
        ulBwKbpsSamples:
          type: array
          items:
            $ref: '#/components/schemas/statsmonV2StatsSample'
      additionalProperties: false
    v2MonitoringCircuitsUtilizationPostRequest:
      type: object
      properties:
        deviceId:
          type: integer
          format: int64
          example: 12345678910
          minimum: 0
        selectors:
          type: array
          items:
            $ref: '#/components/schemas/statsmonV2CircuitUtilizationSelector'
        timeWindow:
          $ref: '#/components/schemas/statsmonV2TimeWindow'
      additionalProperties: false
    v2MonitoringExtranetSiteStatusGetResponse:
      type: object
      properties:
        statuses:
          type: array
          items:
            $ref: '#/components/schemas/statsmonExtranetSiteStatus'
      additionalProperties: false
    v2MonitoringBgpPostResponseData:
      type: object
      properties:
        samples:
          type: array
          items:
            $ref: '#/components/schemas/statsmonV2StatsSample'
        selector:
          $ref: '#/components/schemas/statsmonV2BgpStatsSelector'
      additionalProperties: false
    v2MonitoringPolicyPostRequest:
      type: object
      properties:
        deviceId:
          type: integer
          format: int64
          example: 12345678910
          minimum: 0
        selectors:
          type: array
          items:
            $ref: '#/components/schemas/statsmonV2PolicyStatsSelector'
        timeWindow:
          $ref: '#/components/schemas/statsmonV2TimeWindow'
      additionalProperties: false
    v2MonitoringExtranetServiceStatusDetailsGetResponse:
      type: object
      properties:
        statuses:
          type: array
          items:
            $ref: '#/components/schemas/statsmonExtranetSiteStatus'
      additionalProperties: false
    v2MonitoringInterfacePostResponseData:
      type: object
      properties:
        samples:
          type: array
          items:
            $ref: '#/components/schemas/statsmonV2StatsSample'
        selector:
          $ref: '#/components/schemas/statsmonV2InterfaceStatsSelector'
      additionalProperties: false
    v2MonitoringCircuitsUtilizationPostResponseData:
      type: object
      properties:
        configLinkUpSpeedMbps:
          type: integer
          format: int32
          example: 123
          minimum: 0
        queueUtilization:
          type: array
          items:
            $ref: '#/components/schemas/statsmonV2QueueUtilization'
        selector:
          $ref: '#/components/schemas/statsmonV2CircuitUtilizationSelector'
      additionalProperties: false
    v2MonitoringSegmentRouteCountsPostResponse:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/v2MonitoringSegmentRouteCountsPostResponseData'
      additionalProperties: false
    v2MonitoringSystemPostResponse:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/v2MonitoringSystemPostResponseData'
      additionalProperties: false
    v2MonitoringQueueInstantPostRequest:
      type: object
      properties:
        deviceId:
          type: integer
          format: int64
          example: 12345678910
          minimum: 0
        isDelta:
          type: boolean
          example: true
        isTotal:
          type: boolean
          example: true
        selectors:
          type: array
          items:
            $ref: '#/components/schemas/statsmonV2QueueInstantStatsSelector'
        timeWindow:
          $ref: '#/components/schemas/statsmonV2TimeWindow'
      additionalProperties: false
    statsmonV2InterfaceStatsSelector:
      type: object
      properties:
        interfaceName:
          type: string
          example: example string
        type:
          type: string
          example: ENUM_VALUE
      additionalProperties: false
    statsmonV2QueueUtilization:
      type: object
      properties:
        allocatedPct:
          type: integer
          format: int32
          example: 123
          minimum: 0
        defaultQueue:
          type: boolean
          example: true
        excessWeight:
          type: integer
          format: int32
          example: 123
          minimum: 0
        slaClass:
          type: string
          example: ENUM_VALUE
        utilizationKbps:
          type: number
          format: float
          example: 12.34
        utilizationPct:
          type: number
          format: float
          example: 12.34
      additionalProperties: false
    statsmonV2CircuitBandwidthStatsSelector:
      type: object
      properties:
        circuitName:
          type: string
          example: example string
        deviceId:
          type: integer
          format: int64
          example: 12345678910
          minimum: 0
      additionalProperties: false
    v2MonitoringExtranetLogDetailsPostResponse:
      type: object
      properties:
        logs:
          type: array
          items:
            $ref: '#/components/schemas/v2MonitoringExtranetLogDetailsPostResponseLogDetails'
      additionalProperties: false
    statsmonV2TwampVisualSelector:
      type: object
      properties:
        circuitName:
          type: string
          example: example string
        coreLocation:
          type: string
          example: example string
        type:
          type: string
          example: ENUM_VALUE
      additionalProperties: false
    statsmonExtranetSiteStatus:
      type: object
      properties:
        id:
          type: integer
          format: int64
          example: 1
          description: the id of the site
        name:
          type: string
          example: site1
          description: the name of the site
        status:
          type: string
          example: Healthy
          description: the status of the site (Healthy, Impaired, Down)
        statuses:
          type: array
          items:
            $ref: '#/components/schemas/statsmonExtranetServerStatus'
      additionalProperties: false
    v2MonitoringSegmentRouteCountsPostRequest:
      type: object
      properties:
        deviceIds:
          type: array
          items:
            type: integer
            format: int64
            example: 12345678910
            minimum: 0
      additionalProperties: false
    v2MonitoringMacsecDeviceIdStatusGetResponse:
      type: object
      properties:
        macsecStatuses:
          type: array
          items:
            $ref: '#/components/schemas/v2MonitoringMacsecDeviceIdStatusGetResponseMaCsecStatus'
      additionalProperties: false
    v2MonitoringIpsecPostRequest:
      type: object
      properties:
        deviceId:
          type: integer
          format: int64
          example: 12345678910
          minimum: 0
        selectors:
          type: array
          items:
            $ref: '#/components/schemas/statsmonV2IpSecStatsSelector'
        timeWindow:
          $ref: '#/components/schemas/statsmonV2TimeWindow'
      additionalProperties: false
    statsmonV2PolicyStatsSelector:
      type: object
      properties:
        index:
          type: integer
          format: int32
          example: 123
          minimum: 0
        type:
          type: string
          example: ENUM_VALUE
      additionalProperties: false
    v2MonitoringBgpPostRequest:
      type: object
      properties:
        deviceId:
          type: integer
          format: int64
          example: 12345678910
          minimum: 0
        selectors:
          type: array
          items:
            $ref: '#/components/schemas/statsmonV2BgpStatsSelector'
        timeWindow:
          $ref: '#/components/schemas/statsmonV2TimeWindow'
      additionalProperties: false
    v2MonitoringCircuitsUtilizationPostResponse:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/v2MonitoringCircuitsUtilizationPostResponseData'
      additionalProperties: false
    statsmonExtranetServerStatus:
      type: object
      properties:
        address:
          type: string
          example: 192.168.1.1
          description: the IP address of the server
        status:
          type: string
          example: Healthy
          description: the health status of the server (Healthy, Impaired, Down)
      additionalProperties: false
    statsmonV2CircuitSummary:
      type: object
      properties:
        averageDelay:
          type: number
          format: float
          example: 12.34
          description: Average delay for this circuit in this time duration
        averageJitter:
          type: number
          format: float
          example: 12.34
          description: Average jitter for this circuit in this time duration
        averageLinkDownSpeedKbps:
          type: number
          format: float
          example: 12.34
        averageLinkUpSpeedKbps:
          type: number
          format: float
          example: 12.34
        averageLoss:
          type: number
          format: float
          example: 12.34
          description: Average loss for this circuit in this time duration
        avgMos:
          type: number
          format: float
          example: 12.34
          description: Graphiant avg score/QoE based on mos for the time duration
        circuitName:
          type: string
          example: example string
        configLinkDownSpeedMbps:
          type: integer
          format: int32
          example: 123
          minimum: 0
        configLinkUpSpeedMbps:
          type: integer
          format: int32
          example: 123
          minimum: 0
        connectionStatus:
          type: string
          example: ENUM_VALUE
        currentLinkDownSpeedKbps:
          type: number
          format: float
          example: 12.34
        currentLinkUpSpeedKbps:
          type: number
          format: float
          example: 12.34
        delay:
          type: integer
          format: int

# --- truncated at 32 KB (51 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/graphiant/refs/heads/main/openapi/graphiant-monitoring-api-openapi.yml