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

# Get network endpoint peers

> Returns the endpoint's peers grouped by peer kind and resolved name, so replicas of one service are one row. Traffic is never merged across locality: each peer carries one child per locality with its own bytes, connections, failures and cost, so same zone and cross zone traffic stay apart. direction says which side the endpoint was on (client: it called the peer, server: the peer called it, both: default, in which case a peer appearing in both roles has a row per role). bytes_out and bytes_in are from this endpoint's point of view. endpoint_id is the peer's costliest member endpoint and can be opened as an endpoint page. share_of_bytes and share_of_cost are shares of the filtered total before paging. sort is cost (default) or bytes. total is the number of peer rows before paging



## OpenAPI

````yaml /api-reference/costgraph/openapi.json get /api/v1/tenant/service-map/endpoints/{id}/peers
openapi: 3.0.0
info:
  description: Read and manage your CostGraph organization, spend, alerts, and settings.
  title: CostGraph API
  contact: {}
  version: '1.0'
servers:
  - url: https://api.costgraph.ai
security: []
tags:
  - name: ai
    x-group: AI
  - name: ai-serving
    x-group: AI serving
  - name: anomalies
    x-group: Anomalies
  - name: auth
    x-group: Auth
  - name: billing
    x-group: Billing
  - name: billing-export
    x-group: Billing export
  - name: budgets
    x-group: Budgets
  - name: ci
    x-group: CI
  - name: compute-recommendations
    x-group: Compute recommendations
  - name: config
    x-group: Config
  - name: context-graph
    x-group: Context graph
  - name: cost
    x-group: Cost
  - name: gpus
    x-group: GPUs
  - name: graphai
    x-group: Graph AI
  - name: integrations
    x-group: Integrations
  - name: invitations
    x-group: Invitations
  - name: kubernetes-clusters
    x-group: Kubernetes clusters
  - name: marketplace
    x-group: Marketplace
  - name: network-requests
    x-group: Network requests
  - name: notifications
    x-group: Notifications
  - name: oauth
    x-group: OAuth
  - name: oauth-clients
    x-group: OAuth clients
  - name: opencost
    x-group: OpenCost
  - name: organization
    x-group: Audit log
  - name: organizations
    x-group: Organizations
  - name: placement-alternatives
    x-group: Placement alternatives
  - name: reports
    x-group: Reports
  - name: service-map
    x-group: Service map
  - name: settings
    x-group: Settings
  - name: sso
    x-group: Single sign-on
  - name: tenants
    x-group: Tenants
  - name: ticketing
    x-group: Ticketing
  - name: user
    x-group: Users
  - name: virtual-machines
    x-group: Virtual machines
  - name: virtual-tags
    x-group: Virtual tags
  - name: workflows
    x-group: Workflows
paths:
  /api/v1/tenant/service-map/endpoints/{id}/peers:
    get:
      tags:
        - service-map
      summary: Get network endpoint peers
      description: >-
        Returns the endpoint's peers grouped by peer kind and resolved name, so
        replicas of one service are one row. Traffic is never merged across
        locality: each peer carries one child per locality with its own bytes,
        connections, failures and cost, so same zone and cross zone traffic stay
        apart. direction says which side the endpoint was on (client: it called
        the peer, server: the peer called it, both: default, in which case a
        peer appearing in both roles has a row per role). bytes_out and bytes_in
        are from this endpoint's point of view. endpoint_id is the peer's
        costliest member endpoint and can be opened as an endpoint page.
        share_of_bytes and share_of_cost are shares of the filtered total before
        paging. sort is cost (default) or bytes. total is the number of peer
        rows before paging
      parameters:
        - description: Tenant ID
          name: X-CostGraph-Tenant-ID
          in: header
          required: true
          schema:
            type: string
        - description: Network endpoint ID
          name: id
          in: path
          required: true
          schema:
            type: string
        - description: client, server or both (default both)
          name: direction
          in: query
          schema:
            type: string
        - description: cost or bytes (default cost)
          name: sort
          in: query
          schema:
            type: string
        - description: Page size, 1 to 500 (default 50)
          name: limit
          in: query
          schema:
            type: integer
        - description: Rows to skip (default 0)
          name: offset
          in: query
          schema:
            type: integer
        - description: Range start timestamp in RFC3339 format
          name: start
          in: query
          required: true
          schema:
            type: string
        - description: Range end timestamp in RFC3339 format
          name: end
          in: query
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/responses.SuccessResponse'
                  - type: object
                    properties:
                      data:
                        $ref: '#/components/schemas/networkendpoint.Peers'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responses.ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responses.ErrorResponse'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responses.ErrorResponse'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responses.ErrorResponse'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responses.ErrorResponse'
      security:
        - BearerAuth: []
components:
  schemas:
    responses.SuccessResponse:
      type: object
      required:
        - message
        - status
      properties:
        data: {}
        message:
          type: string
          example: some message
        status:
          type: string
          example: success
    networkendpoint.Peers:
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/networkendpoint.Peer'
        limit:
          type: integer
        offset:
          type: integer
        range:
          $ref: '#/components/schemas/networkendpoint.Range'
        total:
          type: integer
    responses.ErrorResponse:
      type: object
      required:
        - message
        - status
      properties:
        message:
          type: string
          example: some message
        status:
          type: string
          example: error
    networkendpoint.Peer:
      type: object
      properties:
        bytes_in:
          type: number
        bytes_out:
          type: number
        bytes_total:
          type: number
        connections_opened:
          type: integer
        cost:
          type: number
          x-semantic: costAmount
          nullable: true
        direction:
          type: string
          enum:
            - client
            - server
            - self
        endpoint_id:
          type: string
        kind:
          type: string
        localities:
          type: array
          items:
            $ref: '#/components/schemas/networkendpoint.LocalityChild'
        name:
          type: string
        share_of_bytes:
          type: number
          nullable: true
        share_of_cost:
          type: number
          nullable: true
        unhealthy_connections:
          type: integer
    networkendpoint.Range:
      type: object
      properties:
        end:
          type: string
        start:
          type: string
    networkendpoint.LocalityChild:
      type: object
      properties:
        bytes_in:
          type: number
        bytes_out:
          type: number
        bytes_total:
          type: number
        connections_opened:
          type: integer
        cost:
          type: number
          x-semantic: costAmount
          nullable: true
        locality:
          type: string
        unhealthy_connections:
          type: integer
  securitySchemes:
    BearerAuth:
      description: Enter "Bearer {token}"
      type: apiKey
      name: Authorization
      in: header

````

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