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

> Returns the endpoint's traffic grouped by server port and protocol, with a child per locality so same zone and cross zone traffic stay apart. direction says whether the endpoint was the client of those ports or the server (client, server or both, default both), and bytes_out and bytes_in are from the endpoint's point of view. share_of_bytes and share_of_cost are shares of the filtered total before paging. sort is cost (default) or bytes



## OpenAPI

````yaml /api-reference/costgraph/openapi.json get /api/v1/tenant/service-map/endpoints/{id}/ports
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}/ports:
    get:
      tags:
        - service-map
      summary: Get network endpoint ports
      description: >-
        Returns the endpoint's traffic grouped by server port and protocol, with
        a child per locality so same zone and cross zone traffic stay apart.
        direction says whether the endpoint was the client of those ports or the
        server (client, server or both, default both), and bytes_out and
        bytes_in are from the endpoint's point of view. share_of_bytes and
        share_of_cost are shares of the filtered total before paging. sort is
        cost (default) or bytes
      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.Ports'
        '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.Ports:
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/networkendpoint.Port'
        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.Port:
      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
        localities:
          type: array
          items:
            $ref: '#/components/schemas/networkendpoint.LocalityChild'
        port:
          type: integer
        proto:
          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.